Fix UnprocessableEvent parent
Add type-checks to WorkQueue, store Work::Step instead of nil