Lots of tweaks to increase thread safety and Provider cleaner interfaces.