Procedures as State Machines