Move callback registration out of #createRequest
Move empty callback into helper
Don't register events if callback doesn't exist; remove one level of abstraction