Thank you for your suggestions. I am glad you like NodeCanvas and no offense taken at all! Hm. There is already a “clone” method (called “Duplicate”) in nodes, transitions, and tasks (and variables) code that returns a deep copy of the Task. However these copies are made using the json serializer so that all nodes, transitions, and tasks can be cloned without manual clone code within EACH one of them of course. If I understand correctly, your suggestion requires that clone/duplicate method is made virtual and the clone is implemented manually for every node, transition, and task independently. Is that correct?