private void Signal_ChangedEntry(StringListEntryEditor node, string ingred, int amt)
    {
        var ind = GetChildren().IndexOf(node);

        EmitSignal(nameof(entry_changed), ind - 1, ingred, amt);
    }
    private void Signal_ChangedValue(StringListEntryEditor node, float newValue)
    {
        var ind = GetChildren().IndexOf(node);

        EmitSignal(nameof(entry_changed), ind - 1, newValue);
    }
    private void Signal_DeleteEntry(StringListEntryEditor node)
    {
        var ind = GetChildren().IndexOf(node);

        EmitSignal(nameof(entry_deleted), ind - 1);
    }
    private void Signal_ChangedString(StringListEntryEditor node, string str)
    {
        var ind = GetChildren().IndexOf(node);

        EmitSignal(nameof(entry_changed), ind - 1, str);
    }