1. An adaptable and extensible retail interface system comprising: a programmable state machine which transitions from one state to another based upon occurrence of a sequence of inputs from a retail application, the programmable state machine executing on a self-service checkout terminal; and XML files to establish mappings and operation rules for the programmable state machine, the XML files including states produced from the programmable state machine, wherein the programmable state machine receives a message as an input from the retail application and provides emulated outputs as necessary for compatible communication with a point of sale (POS) application having one or more incompatibilities preventing direct communication of the message from the retail application to the POS application and correct operation in response to the message, the programmable state machine configured as a wrapper to the POS application controlling the POS application's inputs and outputs, and wherein when the POS application is changed, the wrapper ensures there is no disruption in the compatible communication between the retail application and the POS application, and processing the programmable state machine with the XML files for providing a POS interface for interaction between the retail application and the POS application.