1. A system for routing a message through a plurality of test methods, the system comprising: memory storing information regarding the user; a network interface for receiving a message via a communication network; and a processor for executing instructions stored in memory, wherein execution of the instructions by the processor: applies a first test method to the received message, wherein the first test method provides an indeterminate classification and updates a state of the received message, selects one or more next test methods from a plurality of other test methods, the selection based on the stored information regarding the user and the updated state of the received message after the first test method or another preceding test method, wherein each of the next test methods further updates the state of the received message, and classifies the received message when the one or more next test methods provide a determinate classification.