moved class library instantiation into the Engine
moved class library instantiation into the Engine
refactored to do some better information hiding and currying
completely overhauled for new pattern