def add_entity(self, property_name, use_context=True):
        """
        Add entity property to schema
        :param property_name: str, property name
        :param use_context: bool, whether custom context should be used
        :return: shiftschema.property.EntityProperty
        """
        if self.has_property(property_name):
            err = 'Property "{}" already exists'
            raise PropertyExists(err.format(property_name))
        prop = EntityProperty(use_context=bool(use_context))
        self.entities[property_name] = prop
        return prop