Made a few things protected rather than private in proc.hpp - for extendability