public void FireAction(IGameAction action, IGameObject target, ActionCompletedCallback callback = null, float delay = 0f)
        {
            action.Parent = Parent;
            action.Target = target;

            if (delay > 0f)
            {
                actionManager.RegisterDelayedAction(action, delay, callback);
            }
            else
            {
                actionManager.RegisterAction(action, callback);
            }
        }