let job executor itself register as a handler to avoid actual handler from being garbage collected