1. A packet switching controller comprising: a first engine for receiving a plurality of inputs, and for providing one or more outputs, the one or more outputs including a disposition decision for a packet, wherein the plurality of inputs include one or more disposition recommendations for the packet, and wherein the first engine programmatically generates the disposition decision for the packet, in response to the disposition recommendations.