public static function getAllowedFunctions()
    {
        $properties = array(
            static::PROPERTY_DRAG,
            static::PROPERTY_DROP,
            static::PROPERTY_EDIT,
            static::PROPERTY_DELETE,
        );

        $class = get_called_class();

        if ( is_a( $class, __NAMESPACE__ . '\RepresentsTextContentInterface', true ) )
        {
            $properties[] = static::PROPERTY_REPRESENTS_TEXT;
        }

        if ( is_a( $class, __NAMESPACE__ . '\RepresentsImageContentsInterface', true ) )
        {
            $properties[] = static::PROPERTY_REPRESENTS_IMAGES;
        }

        return $properties;
    }