After turning on warnings, a number of CA1851 showed up that will take a bit of refactoring to clean up correclty.