refactored VSTheme to use NSObject instead of individual classes