# SmartLifecycle: start in ascending phase, stop in descending phase, runners after all of it


--- startup ---
start  low    (phase -100) on main
start  mid    (phase 0) on main
start  high   (phase 100) on main
start  slow   (phase 200) on main
ApplicationStartedEvent
CommandLineRunner runs
ApplicationReadyEvent
manual.isAutoStartup()=false isRunning()=false (never started by the context)

--- context.close() ---
start  manual (phase 50) on main
ContextClosedEvent (stop phase begins)
stop   slow   (phase 200) begins, will finish in 300 ms
stop   slow   finished, calling the callback
stop   high   (phase 100) on main
stop   manual (phase 50) on main
stop   mid    (phase 0) on main
stop   low    (phase -100) on main
