Cleanup.
Pre-Factory
Factory created.
Fixed name spaces.  More separation of responsibilities.
Cleanup. Documentation. License.