def install_redis_object name, klass, opts
      raise ArgumentError, "Name is blank" if name.to_s.empty?
      name = name.to_s.to_sym
      opts ||= {}
      redis_objects_order << name
      redis_objects[name] = OpenStruct.new
      redis_objects[name].name = name
      redis_objects[name].klass = klass
      redis_objects[name].opts = opts
      self.send :attr_reader, name
      define_method "#{name}=" do |v|
        self.send(name).replace v
      end
      define_method "#{name}?" do
        !self.send(name).empty?
      end
      redis_objects[name]
    end
def install_redis_object name, klass, opts
      raise ArgumentError, "Name is blank" if name.to_s.empty?
      name = name.to_s.to_sym
      opts ||= {}
      redis_objects_order << name
      redis_objects[name] = OpenStruct.new
      redis_objects[name].name = name
      redis_objects[name].klass = klass
      redis_objects[name].opts = opts
      self.send :attr_reader, name
      define_method "#{name}=" do |v|
        self.send(name).replace v
      end
      define_method "#{name}?" do
        !self.send(name).empty?
      end
      redis_objects[name]
    end
Creates an instance method called +name+ that
 returns an instance of the RedisObject +klass+