tear proc-related logic out of ensemble into its own class

- TODO: see item in __del__ of NEFProcess