Make types public, but constructor package private to work around the fact that the CT invokes these methods reflectively now without calling setAccessible().