Multi-threading and Synchronization
The system architecture is inherently multi-threaded. Each new call from the framework will be in a new thread and the communications implementation to the terminal/EPS is likely to introduce further threads. Care must be taken to ensure these threads are synchronized and that data is suitably protected. Also, core should eventually handle concurrent access to physical payment terminals.