A very lightweight Finite State Machine in ObjC using blocks