var finiteStateCat = StateMachine.create({ initial: 'inside', events: [ { name: 'letHerOut', from: 'inside', to: 'outside' }, { name: 'letHerIn', from: 'outside', to: 'inside' } ], callbacks: { oninside:function(){ $("#cat").html("

Meows to be let out

") $("#letHerOut").on("click",function(){finiteStateCat.letHerOut();}) }, onoutside:function(){ $("#cat").html("

realizes it's raining meows to be let in

"); $("#letHerIn").on("click",function(){finiteStateCat.letHerIn();}) } }