Refactor DeliverLater into MessageDelivery