1. A method for utilizing finite state machines in a computing system, the method comprising: communicating a schema comprising validity parameters for a finite state machine to a finite state machine engine; using the finite state machine engine to: evaluate 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; interpret the user-generated finite state machine specification; receive a request from a computing system for an instance of the user-generated finite state machine specification; and initiate the requested instance of the user-generated finite state machine specification; and using events from the computing systems that correspond to 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.