Refactor of my 1st attempt

Refactor of my 1st attempt. Added a series of methods which define logic
of left/right/move actions. Added rspec BDD tests