The flow consist of:
- The client requesting a certain operation through a service call
- The FSM receiving the request, checking if that operation and sets it up the operation
- The FSM executing the operation
- The FSM transitioning to a steady operation after we've finished executing. The steady operation is a operation which, as its name implies, can be executed indefintely, e.g. hold (hover) or land (idle at ground). This makes the FSM ready for a new operation.
- The FSM telling the client that it's done through a service call
If a new operation is requested in the midst of another operation executing, the current operation will be aborted if we can make the transition to the new operation.