//STATE MACHINE UTILS ------------------------------------------------------------------------

    /// <summary>
    /// Transition to the passed state and resets all the new state variables.
    /// </summary>
    public void ChangeStateTo(IBarionState new_state)
    {
        current_state = new_state;
        current_state.StartState();
    }