original_docstring: 
          Register an attribute so this can set values on it
          :param attrname: name of the attribute to register
          :param setter: the function to call to set the value
          :param kwargs: any additional arguments to pass into *setter*
          
docstring: Register an attribute so this can set values on it
docstring_tokens: Register an attribute so this can set values on it
code: def register(self, attrname, setter, **kwargs):
          """
          Register an attribute so this can set values on it
          :param attrname: name of the attribute to register
          :param setter: the function to call to set the value
          :param kwargs: any additional arguments to pass into *setter*
          """
          self.attributes[attrname] = (setter, kwargs)
code_tokens: def register ( self , attrname , setter , ** kwargs ) : self . attributes [ attrname ] = ( setter , kwargs )
short_docstring: Register an attribute so this can set values on it
short_docstring_tokens: Register an attribute so this can set values on it
comment: """
          Register an attribute so this can set values on it
          :param attrname: name of the attribute to register
          :param setter: the function to call to set the value
          :param kwargs: any additional arguments to pass into *setter*
          """