Ah, sorry about the giant file list change! The commit was huge since I removed all of the part files with the code changes. If you want, I can destroy and recreate the repo with a commit to only on the source files that were changed to make it easier to follow.
I found one nullref issue with the old UIMananger that I've removed recently. The only other weird error that wasn't showing up originally in testing is this:
get_gameObject can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
It has no function info, or any details as to where the problem is, nor am I exactly sure which bit of code is causing it. I'm not even sure if it is problematic at all.
That check -IS- required. The internals of KSP are incredibly wonky with instances. Adding that check makes the nullrefs go away... just tested that right now.