def self.reader(klass = nil, &block)
      case
        when klass
          @@readers[self] = klass
        when block_given?