void Start()
    {
        RoutePlanner planner = new ElbowRoutePlanner(m_ElbowFactor);

        ShipMovement ship = new ShipMovement(planner);

        ship.PhysicsBody.Velocity.Value = m_StartingVelocity;
        ship.StartUpdate(m_Updater);

        ShipMovementEvent evt = new ShipMovementEvent(0, "Test", new Path(0, m_Points));

        ship.ReceiveEvent(evt);

        ship.PhysicsBody.Position.Subscribe(pos => m_TestVisuals.position = pos);

        foreach (var p in m_Points)
        {
            var go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            go.transform.position = p.Position;
        }

        m_View.Model = ship;


        //ship.PhysicsBody.Position.Subscribe(pos => Debug.Log(pos.ToString("F4")));
        //ship.PhysicsBody.Velocity.Subscribe(vel => Debug.Log(vel.ToString("F4")));
    }