1. A method for creating hierarchical classifiers of software components in a learning system, each software component comprising an identifier and a rule for processing an input message, the method comprising the steps of: receiving an input message by a first software component; parsing the input message to identify an input value; seeking a second software component having an identifier matching the identified input value; in the event that the seeking step fails to locate a match, creating a second software component and assigning an identifier to the created second software component, the identifier matching the identified input value.