next also
remove timeout
remove optional.deferral
async preparator.context
inject.async can optionally notify (instead of reject) on error
Preparator.onError can can control flow
can skip injection
onError() sticks to preparator signature format