Interesting idea. Post it!
The easier way is to setup Program Templates and a guide so that everyone knows what defines each Status for each type of Program. But you must have separate flows for each status. Cloning a template and then updating these flows is the best way so far.