Massive Cleanup

Many interfaces and classes changed or removed.
A recompile will be required so update with care.
Merge remote-tracking branch 'upstream/master'