start

open override fun start()

Starts the state machine.

This method is idempotent - calling it multiple times has no effect if the machine is already running. Starting the machine enables event processing and observer notifications.

This method is thread-safe and can be called from any thread, including coroutine contexts.