Add interactions handling to communicate with UI

* The interactions are instance that are going to be spawn containing
  generic informations for the UI to display.
* Add some basic tests for it
Add package requirements option for base category

* An optional list of package requirements can be passed to any framework.
* Add tests.