wvlet.airframe
bind[A].withLifeCycle(init = ..., start = ..., shutdown = ...)
use onInit, onStart, anShutdown, etc.
bind[A].withLifeCycle(init = ..., start = ..., shutdown = ...)