Does this class have to be public? most classes in the core namespace are internal...