fsm: add fsm to sky so we can build more sophisticated widgets