Adding some design ideas, assumptions & stream of consciousness
Added a basic spec helper