Message delivery is central to the operation of a distributed computing system. Whether between code-segments, applications, or devices, the exchange of information using delivered messages has become a necessary component in many computer-based products and services. However, not all messages are created equal. Depending, for example, on the content of a message and the actors between which a message is delivered, the delivery of each message may require different handling. For example, some messages may contain information that is useful to an application, but not necessary to the application's continued operation. A messaging system may give such messages a lower priority and simply make a “best effort” to deliver them. On the other hand, the nature of a set of messages may require that a messaging system ensure that these messages are not only delivered, but delivered in a particular order. A robust messaging system should be able to efficiently process messages with varying delivery requirements.