private void Enter(Flow flow)
        {
            flow.Invoke(trigger);

            List <object> args = new List <object>();

            args.Add(targetPort.GetValue <GameObject>());
            args.Add(name.GetValue <string>());

            if (!createdHash)
            {
                hashId      = (new object()).GetHashCode();
                createdHash = true;
            }

            args.Add(this);

            foreach (ValueInput input in argumentPorts)
            {
                args.Add(input.GetValue <object>());
            }

            GameObjectEvent.Trigger <ReturnEvent>((GameObject)args[0], args.ToArray());
        }