1. A computer program product comprising one or more computer-readable hardware media having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to perform a method for performing distributed interfacing with an application across a plurality of hardware entities, the method comprising: an act of identifying a first plurality of hardware entities available to interface with an application, each of the first plurality of hardware entities having a plurality of endpoints with which each can interface with the application; an act of performing distribution of the assignment of the first plurality of hardware entities to interact with the plurality of endpoints by performing for each of at least some of the plurality of hardware entities at least the following: an act of determining a subset of endpoints with which the corresponding hardware entity is to interface; and an act of operating the application to thereby detect interaction of at least some of the first plurality of hardware entities with the application via at least some of the plurality of endpoints, including detecting at least a first input to produce a first output; in response to at least producing the first output, an act of identifying a second plurality of hardware entities available to interface with the application, at least one of the second plurality of hardware entities having at least one endpoint for which the first output is valid as an input; and an act of directing the first output to the at least one endpoint of the second plurality of hardware entities in the form of a second input.