public ICommand<T>? TryGetCommand<T>(NodeCommandKeys key) {
            if (m_commands.TryGetValue(key, out ICommand? command) && command is ICommand<T> commandT) {
                return commandT;
            }
            else {
                return null;
            }
        }