A made up language. It looks like this:
machine flicker [ states [ light_off , light_on [ on entering execute play_sound ; ] ]; events [ one_second ]; starting on light_on; transitions [ from light_on to light_off on event one_second execute turn_off_light; from light_off to light_on on event one_second execute turn_on_light; ]; ];
You input 'events' with the generated function machine_push_event(machine_enum_id,machine_event);