Removes a node from the project.
        In theory this should be called by the node manager.

        :param node: Node instance

def remove_node(self, node):
        """
        Removes a node from the project.
        In theory this should be called by the node manager.

        :param node: Node instance
        """

        if node in self._nodes:
            yield from node.delete()
            self._nodes.remove(node)