def supports(cls, *functionalities):
        """
        A view decorator to indicate that an xBlock view has support for the
        given functionalities.

        Arguments:
            functionalities: String identifiers for the functionalities of the view.
                For example: "multi_device".
        """
        def _decorator(view):
            """
            Internal decorator that updates the given view's list of supported
            functionalities.
            """
            # pylint: disable=protected-access
            if not hasattr(view, "_supports"):
                view._supports = set()
            for functionality in functionalities:
                view._supports.add(functionality)
            return view
        return _decorator