Clean up the interface a bit to consolidate ThemeState methods onto one object.  Keep CPThemeState as just a helper function.