Get rid of the singleton_class stuff. Create a builder object for creating the accessor methods