Deferred Execution
Sometimes when starting services we face situations where messages come in that require computation but we can't do that computation yet because we are still waiting for some long running init to complete.
This class lets you queue up closures to run at a later date and later on you can call run() to run all the previously queued work.