pp_component (aka world's jankiest 300 line fsm) should in theory handle function pointers. other minor changes.