Job notify state change plus before/after events, and tests