public NightlightFormController(ref T obj)
        {
            var attributes = AttributeUtils.ReadAttributes(obj);

            Nodes = AttributeUtils.GetNodesFromAttributes(attributes);

            // validate all the nodes.  I did it here arbitrarily, thinking
            // that validation at build, rather on the node creation,
            // would hide the contents of the library
            foreach (var node in Nodes)
            {
                node.ValidateNode();
            }
        }