A removable card is adapted for insertion into a corresponding receptacle
of a host device, and includes a processor for running at least one
application. An agent program is downloadable from the removable card to
the host device. The agent program runs on a processor of the host device
and controls communication between the application running on the
processor of the removable card and at least one application running on
the processor of the host device. A different agent program may be
downloaded from the card to the host device for each of the applications
running on the removable card processor, and each such agent program
controls communications between its corresponding removable card
application and one or more application programming interfaces (APIs) of
applications running on the host device processor.