Spike endpoints

Recreating #113
There is no well defined API, the dependency is 2 way: the model needs to know the internal structure of the app. The business logic is not decoupled from the presentation layer.
@Petr: behave tests