Methods and systems for enabling arbitrary components to control
communications, such as data transfers, without having or requiring prior
knowledge of each other. The system includes a component that creates
controller objects for a communication, such as a data transfer involving
several components. Further, the component associates the controller
objects with a communication session object of the data transfer, such as
a data transfer session object. One or more of the components involved in
the data transfer obtain the controller objects through the data transfer
session object and execute source-specific instructions included in the
obtained controller objects to generate user interfaces. The user
interfaces enable the components to control aspects of the communication,
such as the data transfer.