Enable NuGet package restore
Refactoring for sanity and some thread safety fixes
Huzzah for coarse locking. But there's too much non-thread-safe code for me to want to deal with otherwise.