public virtual void LateUpdate()
    {
        velocity += steering.LinearMovement * Time.deltaTime;
        rotation += steering.AngularMovement * Time.deltaTime;

        if (velocity.magnitude > maximumSpeed)
        {
            velocity.Normalize();
            velocity = velocity * maximumSpeed;
        }

        if (!steering.IsMovingAngular())
        {
            rotation = .0f;
        }

        if (!steering.IsMovingLinear())
        {
            velocity = Vector3.zero;
        }

        steering = new Steering();
    }