A Domain Specific Language for Finite State Machines that is compiled to Objective C Code