public function handleFieldUpdate()
    {
        static $running = array();

        // Process any events
        $trackEngine = $this->getTrackEngine();

        if (! $trackEngine) {
            return;
        }

        $event = $trackEngine->getFieldUpdateEvent();

        if (! $event) {
            return;
        }

        if (isset($running[$this->_respTrackId])) {
            throw new \Gems_Exception(sprintf(
                    "Nested calls to '%s' track after field update event are not allowed.",
                    $trackEngine->getName()
                    ));
        }
        $running[$this->_respTrackId] = true;

        $event->processFieldUpdate($this, $this->currentUser->getUserId());

        unset($running[$this->_respTrackId]);
    }