if(Input.GetKeyUp(KeyCode.S)){
//Simple buttonScript that holds reference to one of the UISprites
OverviewButton button = NGUITools.AddChild(gameObject, testPrefab.gameObject).GetComponent<OverviewButton>();
button.m_Background.spriteName = "gui_tableitem_background_middle";
GameObject derp = NGUITools.AddChild(gameObject);
button.transform.parent = derp.transform;
//Broadcast message to all widgets under the new parent (also tried to broadcast from UIRoot or the instantiated object, same issue)
derp.BroadcastMessage("CheckParent", SendMessageOptions.DontRequireReceiver);
}