Spiking a solution for examples

This is just me hacking away the code to spike the solution for running examples (#15). There will be commits that will break the build and that's ok. This is experimental and I'd like to keep the commits as granular as possible even if some fail the tests.

This is just to get the ball rolling. I will push my commits up as the spike progresses so others can see how I am going and can provide feedback about the API or contribute to the spike.

**Please don't merge this**