refactoring - logic around calculating new direction moved from GameControler to  Vector2D