Returns a property value

        :param: default will return that value if the property is not found,
               else, will raise a KeyError.

def property(self, property_name, default=Ellipsis):
        """ Returns a property value

        :param: default will return that value if the property is not found,
               else, will raise a KeyError.
        """
        try:
            return self._a_tags[property_name]
        except KeyError:
            if default != Ellipsis:
                return default
            else:
                raise