Added some comments.
Removed IOException requirement on some of the interfaces.  Added a test to figure out that models to FreeMarker cannot be inner-classes.