public function stop()
    {
        // Create a new profile based upon the data of the adapter
        $profile = $this->getProfileFactory()->create(
            $this->getProfilerAdapter()->stop(),
            $this->getApplicationData(),
            $_SERVER // TODO: Don't want to use this directly, do something smarter
        );

        // Notify and persist the profile on the persistence service
        $this->getPersistenceService()->persist($profile);

        // Return the profile for further handling
        return $profile;
    }