public MessageEnvelope(string envelopeId, string queueName, MessageReference messageReference, DateTimeOffset deliverOn)
		{
			EnvelopeId = envelopeId;
			DeliverOn = deliverOn;
			MessageReference = messageReference;
			QueueName = queueName;
		}
		private static MessageEnvelope CreateMessageEnvelope(IMessage message, string queueName, DateTimeOffset offset)
		{
			var id = Guid.NewGuid().ToString().ToLowerInvariant();
			var messageReference = new MessageReference(message);
			return new MessageEnvelope(id, queueName, messageReference, offset);
		}