Add new robot and room factories. Add functionality to calculate position and direction of the robot in the room according to direction input.