@type handler() :: (PulsarEx.JobState.t() -> PulsarEx.JobState.t())
@callback call(handler :: handler()) :: handler()