Interfaces defining finite state machines. Override the default implementation to have a custom implementation returned.