+ * The SILC_FSM_CONTINUE always moves to the next state synchronously.
+ *
+ * The SILC_FSM_YIELD always moves to the next state through the
+ * scheduler. Other threads will get running time with SILC_FSM_YIELD.
+ * When using real threads, using SILC_FSM_YIELD is usually unnecessary.
+ *
+ * The SILC_FSM_WAIT will suspend the machine until it is awaken.
+ *
+ * The SILC_FSM_FINISH finished the machine or thread and calls its
+ * destructor, if defined. If the machine is finished when it has
+ * running threads the machine will fatally fail. User must always
+ * finish the threads before finishing the machine.
+ *