Spike endpoints

Recreating #113
This is not decoupling the model from the presentation layer, we are still stuck with Eve and we must run the tests with Eve running - can't run the tests without starting the presentation "layer" - Eve. I don't understand what we gain with this.