Require the singleton class.
Switched @contents to an attr_writer, and added the contents method. Switched output_path and write to take a site as their first param.
Updated output_path to take a site param.
Switched to using the Singleton class. Updated page and post writing to take self as the first param. Broke up exception handling for each bit of site generation.
Updated render to take a site object, and use it to get at templates.