/* requirement driven design */ namespace rotor { class base_object{ int ID; }; class base_input: public abstract_object{ }; class base_output: public abstract_object{ }; class base_node: public abstract_object{ }; class image_node: public base_node{ }; class patch_bay{ //the whole thing }; }