before-after-hook

asynchronous before/error/after hooks for internal functionality