// TODO: Implement some logic keeping users from identifying roots manually
 public void AddRoot(Node root)
 {
     _rootList.Add(root);
 }
 public void AddNode(Node node)
 {
     _nodeList.Add(node);
 }
 public Array OutpinToArray(Node node)
 {
     return node._outPinList.ToArray();
 }
 public Array InpinToArray(Node node)
 {
     return node._inPinList.ToArray();
 }
 public void Attach(string thisMember, Node other, string otherMember)
 {
     IOutPin outPin = GetOutPin(thisMember);
     IInPin inPin = other.GetInPin(otherMember, outPin.GetPinType());
     outPin.Attach(inPin);
 }
 public Pin(Node n, string member)
 {
     _n = n;
     _member = member;
 }