1. An apparatus, comprising: one or more hardware processors; and one or more computer readable media storing the following executable components that are implemented when executed by the one or more processors: a message dispatcher that routes and dispatches a plurality of messages, wherein the message dispatcher routes each of the plurality of messages based on an application level header of the message, the application level header comprising a custom header that is included in the message by the application that sent the message and is not an address field of the message, and wherein the message dispatcher routes a first network message based on a first attribute in the application level header of said first network message, and routes a second network message based on a second attribute, different from said first attribute, in the application level header of said second network message such that the destination of each of the first and second network messages is determined based not on a destination address included in an address field of the message, but the first or second attribute included in the message by the application; and an interface through which one or more application programs communicate with the message dispatcher to define handlers in the message dispatcher for handling messages that include a custom header that contains either the first attribute or the second attribute.