public function getCurrentCaller()
    {
        if (is_null($this->currentCaller)) {
            $loginToken = $this->session->getLoginToken();

            try {
                $this->currentCaller = $this->identifier->identifyByLoginToken($loginToken);
            } catch (IdentificationFailed $e) {
                // we couldn't identify the caller, so we destroy the session
                // TODO: think about this
                $this->session->destroy();
            }
        }

        return $this->currentCaller;
    }