structure of 'process' functionality for evaluating guards/actions