Completely replaced usage of internal API's with reflection!

You can now compile this module without using it.
Fix previous commit
Update misc project files to remove internal API references