docs: def _get_specification(self, spec):
          """
          Helper method to create a homogeneous representation of a specified getter or
          getter/setter pair.
  
          :param spec: Function specification 'getter', (getter,) or (getter,setter)
          :return:  Harmonized getter/setter specification, (getter, setter)
          """
          if spec is None or callable(spec) or isinstance(spec, string_types):
              spec = (spec,)
          if len(spec) == 1:
              spec = (spec[0], None)
          return spec