Need to give a think on the process type parameter and it being required on initialization. Originally intended because processes could be created at runtime, but if a process is being created ahead of time and with the rest of it's metadata (i.e. sources/targets/dependencies) then is it really required?