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();}) } } });