More refactoring.
Final interface clean-up
Refactor Complete