An implementation of hierarchical and finite state machines in JavaScript