Refactor to allow messages to expire while they are enqueued.