Introduce tentative API between UI and application engine

**Description:** introduce tentative API between UI and application engine. This will help with the integration tests and also allow to have the incremental evolution from command line app to fully-featured GUI.
**Testing:** it compiles!