public override GameObject toPrefab(Canvas canvas)
    {
        GameObject button = GameObject.Instantiate(AssetDatabase.LoadAssetAtPath <GameObject>("Assets/Prefabs/PageElements/Button.prefab"), canvas.transform);

        button.name = name;
        rtd.copyToRectTransform(button.GetComponent <RectTransform>());
        image.copyToImage(button.GetComponent <Image>());
        etd.copyToEventTrigger(button.GetComponent <EventTrigger>());
        text.copyToText(button.GetComponentInChildren <Text>());
        PageElementEventTrigger peet = button.GetComponent <PageElementEventTrigger>();

        foreach (ConnectionInfo connection in connections)
        {
            peet.AddConnection(connection);
        }
        return(button);
    }