1. A method for utilizing finite state machines in a computing system, the method comprising: defining a schema comprising validity parameters for a finite state machine; evaluating a user-generated finite state machine specification for compliance with the schema, the user-generated finite state machine specification comprising a plurality of states and a plurality of transitions; interpreting the user-generated finite state machine specification; receiving a request from a computing system for an instance of the user-generated finite state machine specification; initiating the requested instance of the user-generated finite state machine specification; and using one or more of the plurality of transitions to advance the instance of the user-generated finite state machine specification through the plurality of states.