callback can be nil.
Wait to synchronize logs (only for shutting down).
merge errors to one.
expose test helper for commands