Add public viewing pages. Refactor tests to be spec-y-er.