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 creating a transformation chain for performing distributed interfacing with an application across a plurality of endpoint interface entities, the method comprising: an act of receiving an environmental input at a particular endpoint interface entity; in response to receiving the environmental input, performing at least the following: an act of detecting that an initiating set of environmental criteria has been met such that the particular endpoint interface entity is available for the application; an act of identifying, from an endpoint registry containing all possible endpoint interface entities, a first plurality of endpoint interface entities available to interface with the application, each of the first plurality of endpoint interface entities having a plurality of endpoints with which each can interface with the application, and wherein the available endpoint interface entities are endpoint interface entities that are presently active and available based on the application; an act of performing distribution of the assignment of the first plurality of endpoint interface 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 endpoint interface entity is to interface; and an act of operating the application to thereby detect interaction of at least some of the first plurality of endpoint interface 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 endpoint interface entities available to interface with the application, at least one of the second plurality of endpoint interface 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 endpoint interface entities in the form of a second input; and an act of at least temporarily storing a transformation chain class representing at least the particular endpoint interface entity, the endpoint interface entity that produced the first output, and the endpoint interface entity that received the second input.