Split application into "service" and "UI" parts
The application shall be split into two parts: A service part and a UI part. There shall be a well-defined interface between the two. This change is required to let the app run in the background on Android. On other platforms that could also be used to let the app sync in the background and the UI only be shown when requested by the user.