If I call RegisterInstance(...) and then Unregister(), IsRegistered continues to return true.
Any code using this to perform conditional registration checks will subsequently not register, and then crash when attempting to resolve an MSBuild assembly.