diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp
index c3bbb2031af3b2ce21727914fa93613baaa5619c..4954cad38e55e76d811207c76f9cf96fd7961e22 100644
--- a/src/plugins/bookmarks/bookmarkmanager.cpp
+++ b/src/plugins/bookmarks/bookmarkmanager.cpp
@@ -36,7 +36,6 @@
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/projectexplorer.h>
 #include <texteditor/basetexteditor.h>
 #include <utils/qtcassert.h>
@@ -306,18 +305,15 @@ QWidget *BookmarkContext::widget()
 // BookmarkManager
 ////
 
-BookmarkManager::BookmarkManager() :
-    m_bookmarkIcon(QIcon(QLatin1String(":/bookmarks/images/bookmark.png")))
+BookmarkManager::BookmarkManager()
+  : m_bookmarkIcon(QIcon(QLatin1String(":/bookmarks/images/bookmark.png")))
 {
     m_selectionModel = new QItemSelectionModel(this, this);
 
     connect(Core::ICore::instance(), SIGNAL(contextChanged(Core::IContext*)),
             this, SLOT(updateActionStatus()));
 
-    ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
-    ProjectExplorerPlugin *projectExplorer = pm->getObject<ProjectExplorerPlugin>();
-
-    connect(projectExplorer->session(), SIGNAL(sessionLoaded()),
+    connect(ProjectExplorerPlugin::instance()->session(), SIGNAL(sessionLoaded()),
             this, SLOT(loadBookmarks()));
 
     updateActionStatus();
@@ -559,9 +555,7 @@ TextEditor::ITextEditor *BookmarkManager::currentTextEditor() const
 /* Returns the current session. */
 SessionManager *BookmarkManager::sessionManager() const
 {
-    ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
-    ProjectExplorerPlugin *pe = pm->getObject<ProjectExplorerPlugin>();
-    return pe->session();
+    return ProjectExplorerPlugin::instance()->session();
 }
 
 BookmarkManager::State BookmarkManager::state() const
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index e0bbbbd39c15497a76bbf3290864ea80bbcfb3c6..84e1aee202b2cbf8681325ea70ea53aab6eaa4a1 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -42,7 +42,6 @@
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/messageoutputwindow.h>
 #include <coreplugin/uniqueidmanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <texteditor/itexteditor.h>
 
 #include <QtCore/QtPlugin>
@@ -116,8 +115,6 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_m
 
 void CodepasterPlugin::extensionsInitialized()
 {
-    m_projectExplorer = ExtensionSystem::PluginManager::instance()
-        ->getObject<ProjectExplorer::ProjectExplorerPlugin>();
 }
 
 QString CodepasterPlugin::serverUrl() const
diff --git a/src/plugins/cpaster/cpasterplugin.h b/src/plugins/cpaster/cpasterplugin.h
index e28265867415eadc595a7d38e20a61f8bcb4daec..ce449a661562392ed361c878cb04a07fbd22f7f3 100644
--- a/src/plugins/cpaster/cpasterplugin.h
+++ b/src/plugins/cpaster/cpasterplugin.h
@@ -37,7 +37,6 @@
 #include <coreplugin/editormanager/ieditorfactory.h>
 #include <coreplugin/icorelistener.h>
 #include <extensionsystem/iplugin.h>
-#include <projectexplorer/projectexplorer.h>
 
 #include <QtCore/QObject>
 
@@ -70,7 +69,6 @@ private:
 
     QAction *m_postAction;
     QAction *m_fetchAction;
-    ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer;
     SettingsPage  *m_settingsPage;
     CustomFetcher *m_fetcher;
     CustomPoster  *m_poster;
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index f5425585fbce0d4384a1ebf386d702955faa1503..5847d509e166420116d8df2812269cf7e25ca4de 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -48,7 +48,6 @@
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/progressmanager/progressmanager.h>
 
-#include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
 
 #include <TranslationUnit.h>
@@ -545,12 +544,12 @@ CppModelManager::CppModelManager(QObject *parent)
     m_core = Core::ICore::instance(); // FIXME
     m_dirty = true;
 
-    m_projectExplorer = ExtensionSystem::PluginManager::instance()
-                        ->getObject<ProjectExplorer::ProjectExplorerPlugin>();
+    ProjectExplorer::ProjectExplorerPlugin *pe = 
+       ProjectExplorer::ProjectExplorerPlugin::instance();
 
-    QTC_ASSERT(m_projectExplorer, return);
+    QTC_ASSERT(pe, return);
 
-    ProjectExplorer::SessionManager *session = m_projectExplorer->session();
+    ProjectExplorer::SessionManager *session = pe->session();
     QTC_ASSERT(session, return);
 
     m_updateEditorSelectionsTimer = new QTimer(this);
@@ -586,7 +585,9 @@ CppModelManager::~CppModelManager()
 { }
 
 Snapshot CppModelManager::snapshot() const
-{ return m_snapshot; }
+{
+    return m_snapshot;
+}
 
 void CppModelManager::ensureUpdated()
 {
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index fc38f13b6d5dacc419a2669cbe2b93f56efffc23..f20aa23895c250dda8cfe003801530ed7e7fe26a 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -148,7 +148,6 @@ private:
 
 private:
     Core::ICore *m_core;
-    ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer;
     CPlusPlus::Snapshot m_snapshot;
 
     // cache
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index 7b81d9598567fa9b9c52ad5603ffa528ec2b2136..63a1808e3d7938a8afad717760d54773354068d9 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -44,7 +44,6 @@
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/editormanager/editormanager.h>
 #include <cppeditor/cppeditorconstants.h>
-#include <extensionsystem/pluginmanager.h>
 
 #include <QtCore/QtPlugin>
 #include <QtCore/QFileInfo>
@@ -219,7 +218,7 @@ QString CppToolsPlugin::correspondingHeaderOrSourceI(const QString &fileName) co
     const Core::ICore *core = Core::ICore::instance();
     const Core::MimeDatabase *mimeDatase = core->mimeDatabase();
     ProjectExplorer::ProjectExplorerPlugin *explorer =
-        ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::ProjectExplorerPlugin>();
+       ProjectExplorer::ProjectExplorerPlugin::instance();
     ProjectExplorer::Project *project = (explorer ? explorer->currentProject() : 0);
 
     const QFileInfo fi(fileName);
diff --git a/src/plugins/debugger/stackwindow.cpp b/src/plugins/debugger/stackwindow.cpp
index e238dfdf752c02654ec59e4cbb2ec23d081971d6..a400bcf3a2af4b0983031bf4771361cfcb41bba6 100644
--- a/src/plugins/debugger/stackwindow.cpp
+++ b/src/plugins/debugger/stackwindow.cpp
@@ -66,6 +66,7 @@ StackWindow::StackWindow(QWidget *parent)
 void StackWindow::resizeEvent(QResizeEvent *event)
 {
     QHeaderView *hv = header();
+
     int totalSize = event->size().width() - 120;
     if (totalSize > 10) {
         hv->resizeSection(0, 45);
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index a0e1257f0051c717a80e6954cb959e7649aacf23..22249e87dbf5fbe1b5a107bb686e2db2c27b0412 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -45,7 +45,6 @@
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <extensionsystem/pluginmanager.h>
 
 #include <utils/qtcassert.h>
 
@@ -439,7 +438,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *error_message)
 
 void GitPlugin::extensionsInitialized()
 {
-    m_projectExplorer = ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::ProjectExplorerPlugin>();
+    m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
 }
 
 void GitPlugin::submitEditorDiff(const QStringList &unstaged, const QStringList &staged)
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp
index 3be846efb43aad281705c8b95f704567ad1cb5ec..d3fcc1d17dec20a86b0b8655b332d801a23d5ebb 100644
--- a/src/plugins/perforce/perforceplugin.cpp
+++ b/src/plugins/perforce/perforceplugin.cpp
@@ -47,7 +47,6 @@
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/mimedatabase.h>
 #include <coreplugin/uniqueidmanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
 #include <utils/synchronousprocess.h>
 #include <vcsbase/basevcseditorfactory.h>
@@ -386,7 +385,7 @@ bool PerforcePlugin::initialize(const QStringList &arguments, QString *errorMess
 
 void PerforcePlugin::extensionsInitialized()
 {
-    m_projectExplorer = ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::ProjectExplorerPlugin>();
+    m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
     if (m_projectExplorer) {
         connect(m_projectExplorer,
             SIGNAL(currentProjectChanged(ProjectExplorer::Project*)),
diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp
index 11e338026ba52b14663e46172ee6101c4ce047ea..0f0850c17cb2f1dabde424335298ca7a0a8f9ffc 100644
--- a/src/plugins/projectexplorer/projectwindow.cpp
+++ b/src/plugins/projectexplorer/projectwindow.cpp
@@ -62,9 +62,8 @@ ProjectWindow::ProjectWindow(QWidget *parent) : QWidget(parent)
     setWindowTitle(tr("Project Explorer"));
     setWindowIcon(QIcon(":/projectexplorer/images/projectexplorer.png"));
 
-    ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
-    ProjectExplorerPlugin *projectExplorer = m_projectExplorer = pm->getObject<ProjectExplorerPlugin>();
-    m_session = projectExplorer->session();
+    m_projectExplorer = ProjectExplorerPlugin::instance();
+    m_session = m_projectExplorer->session();
 
     connect(m_session, SIGNAL(sessionLoaded()), this, SLOT(restoreStatus()));
     connect(m_session, SIGNAL(aboutToSaveSession()), this, SLOT(saveStatus()));
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
index 914f081656b5c54fb00c9d12125379acb33d89c2..e22f19278f5073989205d113ec1a25744699ab4d 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
@@ -37,7 +37,6 @@
 #include "qtversionmanager.h"
 #include "qmakestep.h"
 
-#include <extensionsystem/pluginmanager.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/basefilewizard.h>
 #include <coreplugin/messagemanager.h>
@@ -111,8 +110,7 @@ void Qt4Manager::notifyChanged(const QString &name)
 
 void Qt4Manager::init()
 {
-    m_projectExplorer = ExtensionSystem::PluginManager::instance()
-        ->getObject<ProjectExplorer::ProjectExplorerPlugin>();
+    m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
 }
 
 int Qt4Manager::projectContext() const
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
index ecbf7742b590581b49355d8cea5a672e10781013..cc37449efc1cec27df3e880c884df46bffea136a 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
@@ -100,8 +100,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
     if (!core->mimeDatabase()->addMimeTypes(QLatin1String(":qt4projectmanager/Qt4ProjectManager.mimetypes.xml"), errorMessage))
         return false;
 
-    m_projectExplorer = ExtensionSystem::PluginManager::instance()
-        ->getObject<ProjectExplorer::ProjectExplorerPlugin>();
+    m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
 
     Core::ActionManager *am = core->actionManager();
 
diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
index bbbd6d4e3a29ac5b4d57ea6793a6cd77875ab282..ebc95a1adf2675ebbdb3455f30f50e4fddc64ac3 100644
--- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
@@ -32,7 +32,6 @@
 #include "qt4projectmanagerconstants.h"
 
 #include <coreplugin/icore.h>
-#include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/projectexplorer.h>
 
 #include <QtCore/QByteArray>
@@ -60,8 +59,7 @@ static inline Core::BaseFileWizardParameters
 
 // -------------------- QtWizard
 QtWizard::QtWizard(const QString &name, const QString &description, const QIcon &icon) :
-    Core::BaseFileWizard(wizardParameters(name, description, icon)),
-    m_projectExplorer(ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::ProjectExplorerPlugin>())
+    Core::BaseFileWizard(wizardParameters(name, description, icon))
 {
 }
 
@@ -89,7 +87,7 @@ bool QtWizard::postGenerateFiles(const Core::GeneratedFiles &l, QString *errorMe
 {
     // Post-Generate: Open the project
     const QString proFileName = l.back().path();
-    if (!m_projectExplorer->openProject(proFileName)) {
+    if (!ProjectExplorer::ProjectExplorerPlugin::instance()->openProject(proFileName)) {
         *errorMessage = tr("The project %1 could not be opened.").arg(proFileName);
         return false;
     }
diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.h b/src/plugins/qt4projectmanager/wizards/qtwizard.h
index c28c7e2501f784af8fdda941bf5e4eeab4c70414..82a8612c73f611518bc317e84aa5d96715e4b41e 100644
--- a/src/plugins/qt4projectmanager/wizards/qtwizard.h
+++ b/src/plugins/qt4projectmanager/wizards/qtwizard.h
@@ -34,9 +34,6 @@
 
 #include <coreplugin/basefilewizard.h>
 
-namespace ProjectExplorer {
-class ProjectExplorerPlugin;
-}
 
 namespace Qt4ProjectManager {
 namespace Internal {
@@ -66,8 +63,6 @@ protected:
 
 private:
     bool postGenerateFiles(const Core::GeneratedFiles &l, QString *errorMessage);
-
-    ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer;
 };
 
 } // namespace Internal
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index 728c5aa66da6ab606fb8cd90582bd458cefd9ded..d640315a1a9e681de91ff90e7e7f21f163cab693 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -50,7 +50,6 @@
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/projectexplorer.h>
 #include <utils/qtcassert.h>
 
@@ -432,10 +431,7 @@ bool SubversionPlugin::initialize(const QStringList &arguments, QString *errorMe
 
 void SubversionPlugin::extensionsInitialized()
 {
-    using namespace ExtensionSystem;
-    using namespace ProjectExplorer;
-
-    m_projectExplorer = PluginManager::instance()->getObject<ProjectExplorerPlugin>();
+    m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
     if (m_projectExplorer) {
         connect(m_projectExplorer,
             SIGNAL(currentProjectChanged(ProjectExplorer::Project*)),
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index 4ce29d17ed7dfb1a65dbb87941a3767b2e22843e..473abaf1757cee2554f3825250296a32465314e1 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -30,10 +30,10 @@
 #include "vcsbasesubmiteditor.h"
 #include "submiteditorfile.h"
 
+#include <aggregation/aggregate.h>
 #include <coreplugin/ifile.h>
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/actionmanager/actionmanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <utils/submiteditorwidget.h>
 #include <find/basetextfind.h>
 
@@ -316,23 +316,24 @@ QIcon VCSBaseSubmitEditor::submitIcon()
 
 QStringList VCSBaseSubmitEditor::currentProjectFiles(bool nativeSeparators, QString *name)
 {
+    using namespace ProjectExplorer;
     if (name)
         name->clear();
-    ProjectExplorer::ProjectExplorerPlugin *projectExplorer = ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::ProjectExplorerPlugin>();
-    if (!projectExplorer)
+    ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance();
+    if (!pe)
         return QStringList();
     QStringList files;
-    if (const ProjectExplorer::Project *currentProject = projectExplorer->currentProject()) {
-        files << currentProject->files(ProjectExplorer::Project::ExcludeGeneratedFiles);
+    if (const Project *currentProject = pe->currentProject()) {
+        files << currentProject->files(Project::ExcludeGeneratedFiles);
         if (name)
             *name = currentProject->name();
     } else {
-        if (const ProjectExplorer::SessionManager *session = projectExplorer->session()) {
+        if (const SessionManager *session = pe->session()) {
             if (name)
                 *name = session->file()->fileName();
-        const QList<ProjectExplorer::Project *> projects = session->projects();
-        foreach (ProjectExplorer::Project *project, projects)
-            files << project->files(ProjectExplorer::Project::ExcludeGeneratedFiles);
+            const QList<Project *> projects = session->projects();
+            foreach (Project *project, projects)
+                files << project->files(Project::ExcludeGeneratedFiles);
         }
     }
     if (nativeSeparators && !files.empty()) {