A method for visual programming an automated transaction machine (12). The method includes the creation of terminal directors (225) that generally correspond to transactions performed by the automated transaction machine. The terminal directors are programmed by visually creating associations (238) between a plurality of ATM objects (230, 232) in a work space (224). Exemplary ATM objects include an authorization object (260), a back stage control object (262), a card reader object (264), a customer profile object (266), a depositor object (268), a dispenser object (270), keypad object (272), a logic object (274), a OCS object (276), a presenter object (278), a PIN entry object (280), a printer object (282), a sync object (284), and a transaction data object (286). A portion of the exemplary ATM objects are operative to interface with a device interface layer (728) for communicating with physical hardware devices (724, 726).