I don't understand why AbstractRobot class should be an abstract one where it contains 2 implemented methods. I acknowledge at the same time I have quite big problems with fully understanding all aspects of abstractions in OOP programming - plenty of hard time still before me :)