1. A method of queuing messages for communications between a first computer program and a second computer program, comprising the steps of: placing a plurality of messages in a queue, wherein each message has a message body; placing selector information on each message, a first message having first selector information, said first selector information defining a complete order of processing of messages, a subsequent message having selector information different from said first selector information, said different selector information defining a different complete order of processing messages; and using said different selector information on said subsequent message to identify a next message for processing, wherein a processor device performs executing one or more of: said placing a plurality of messages, said placing selector information and said using.