1. A data processing system comprising a processor, a memory, and a storage device, wherein the processor comprises: an interface for capturing, at an operating system level, events which arise in the system, a process engine for automatically monitoring captured events to: identify completion of steps, each comprising a plurality of events linked by dependency relationships; and identify completion of processes, each comprising a plurality of steps linked by dependency relationships, a trigger engine for executing in response to output of the process engine to trigger software functions; a database manager for saving process data generated by the process engine; and a reporting engine for generating reports according to the saved data.