Provides a basic finite-state-machine implementation.