Refactored input data contracts and engine.  Started creating unit tests.