Moved compatibility stuff to a separate class.

I'll do a lot of testing on this later - I'm pretty sure a few of the
items are returning null whether or not the mod is loaded.