Events cleanup

Refactored job code to use function/callbacks and events. Updated some additional logging.