Design challenge:
Development of API (middleware), which enables the registration process to be automated for a test. API is used by a web application, data from it flow to educational centre management systems. These systems are 'almost identical' for each country, but some operations require modifications specific for a given location. Additionally, this is not a clean integrative stateless API. Registration starts a long-term process with events initiated by candidates (e.g. online payment), as well as automatically (e.g. text messages reminding about the test time). Both the long-term process and automatic operations may change – their versions appear, which, however, should not affect already registered persons and their processes.