move events to job

depends on #3725

Please review it first