diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp
index 8a4198b4bf0dbc1a96c64d4ad6dd7ca48cb0545e..bfdd5624ab1c6422e1062bae846224f2ee9ed790 100644
--- a/src/plugins/bineditor/bineditorplugin.cpp
+++ b/src/plugins/bineditor/bineditorplugin.cpp
@@ -234,12 +234,11 @@ public:
     BinEditorInterface(BinEditor *parent)
         : Core::IEditor(parent)
     {
-        Core::ICore *core = Core::ICore::instance();
+        Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
         m_editor = parent;
         m_file = new BinEditorFile(parent);
-        m_context << core->uniqueIDManager()->
-            uniqueIdentifier(Core::Constants::K_DEFAULT_BINARY_EDITOR);
-        m_context << core->uniqueIDManager()->uniqueIdentifier(Constants::C_BINEDITOR);
+        m_context << uidm->uniqueIdentifier(Core::Constants::K_DEFAULT_BINARY_EDITOR);
+        m_context << uidm->uniqueIdentifier(Constants::C_BINEDITOR);
         m_cursorPositionLabel = new Core::Utils::LineColumnLabel;
 
         QHBoxLayout *l = new QHBoxLayout;
@@ -320,8 +319,8 @@ QString BinEditorFactory::kind() const
 
 Core::IFile *BinEditorFactory::open(const QString &fileName)
 {
-    Core::ICore *core = Core::ICore::instance();
-    Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind());
+    Core::EditorManager *em = Core::EditorManager::instance();
+    Core::IEditor *iface = em->openEditor(fileName, kind());
     return iface ? iface->file() : 0;
 }
 
@@ -384,8 +383,8 @@ void BinEditorPlugin::initializeEditor(BinEditor *editor)
     QObject::connect(editor, SIGNAL(modificationChanged(bool)), editorInterface, SIGNAL(changed()));
     editor->setEditorInterface(editorInterface);
 
-    Core::ICore *core = Core::ICore::instance();
-    m_context << core->uniqueIDManager()->uniqueIdentifier(Constants::C_BINEDITOR);
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_context << uidm->uniqueIdentifier(Constants::C_BINEDITOR);
     if (!m_undoAction) {
         m_undoAction      = registerNewAction(QLatin1String(Core::Constants::UNDO),
                                               this, SLOT(undoAction()),
diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp
index 3d9ea294d927d0eef495f8da7b2a4d9280e33009..fa8eaefa55c1b30e8bc3e709e4eeb4d352d62945 100644
--- a/src/plugins/bookmarks/bookmarkmanager.cpp
+++ b/src/plugins/bookmarks/bookmarkmanager.cpp
@@ -293,8 +293,7 @@ void BookmarkView::gotoBookmark(const QModelIndex &index)
 BookmarkContext::BookmarkContext(BookmarkView *widget)
     : m_bookmarkView(widget)
 {
-    Core::ICore *core = ICore::instance();
-    m_context << core->uniqueIDManager()->uniqueIdentifier(Constants::BOOKMARKS_CONTEXT);
+    m_context << UniqueIDManager::instance()->uniqueIdentifier(Constants::BOOKMARKS_CONTEXT);
 }
 
 QList<int> BookmarkContext::context() const
@@ -509,7 +508,7 @@ void BookmarkManager::documentPrevNext(bool next)
             nextLine = markLine;
     }
 
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     em->addCurrentPositionToNavigationHistory(true);
     if (next) {
         if (nextLine == -1)
@@ -554,7 +553,7 @@ void BookmarkManager::prev()
 
 TextEditor::ITextEditor *BookmarkManager::currentTextEditor() const
 {
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     Core::IEditor *currEditor = em->currentEditor();
     if (!currEditor)
         return 0;
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index 966c0144355d73273e7d03b0db7d9ce527e3f7dc..845255eda5d8c1e0be6481fe7aa1804e7e7db28e 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -36,7 +36,6 @@
 #include "cmakeproject.h"
 #include "cmakeprojectconstants.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
 #include <projectexplorer/projectexplorerconstants.h>
 
@@ -44,9 +43,9 @@ using namespace CMakeProjectManager::Internal;
 
 CMakeManager::CMakeManager()
 {
-    Core::ICore *core = Core::ICore::instance();
-    m_projectContext = core->uniqueIDManager()->uniqueIdentifier(CMakeProjectManager::Constants::PROJECTCONTEXT);
-    m_projectLanguage = core->uniqueIDManager()->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_projectContext = uidm->uniqueIdentifier(CMakeProjectManager::Constants::PROJECTCONTEXT);
+    m_projectLanguage = uidm->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
 }
 
 int CMakeManager::projectContext() const
diff --git a/src/plugins/coreplugin/actionmanager/commandsfile.cpp b/src/plugins/coreplugin/actionmanager/commandsfile.cpp
index 85d7d172a1dc65732b4c26ce74f3a4350a6d134a..8fc086079bbd113d40057800535abe4b871e77f1 100644
--- a/src/plugins/coreplugin/actionmanager/commandsfile.cpp
+++ b/src/plugins/coreplugin/actionmanager/commandsfile.cpp
@@ -109,8 +109,7 @@ bool CommandsFile::exportCommands(const QList<ShortcutItem *> &items)
     QDomElement root = doc.createElement("mapping");
     doc.appendChild(root);
 
-    for (int i = 0; i < items.count(); ++i) {
-        ShortcutItem *item = items.at(i);
+    foreach (const ShortcutItem *item, items) {
         QDomElement ctag = doc.createElement("shortcut");
         ctag.setAttribute(QLatin1String("id"), idmanager->stringForUniqueIdentifier(item->m_cmd->id()));
         root.appendChild(ctag);
diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp
index 17cf04615b5e1cb1025c9721a0227737ecf6fcbc..7a7279cfe49edc6b6a26caaf966775d64e9c02b2 100644
--- a/src/plugins/coreplugin/basefilewizard.cpp
+++ b/src/plugins/coreplugin/basefilewizard.cpp
@@ -509,7 +509,7 @@ bool BaseFileWizard::postGenerateFiles(const GeneratedFiles &l, QString *errorMe
 {
     // File mode: open the editors in file mode and ensure editor pane
     const Core::GeneratedFiles::const_iterator cend = l.constEnd();
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     for (Core::GeneratedFiles::const_iterator it = l.constBegin(); it != cend; ++it) {
         if (!em->openEditor(it->path(), it->editorKind())) {
             *errorMessage = tr("Failed to open an editor for %1").arg(it->path());
diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp
index b947b54827cefd168c20658f70642d58c458b84f..c6bc596b282d8e33e07c793d981c848477809bc2 100644
--- a/src/plugins/coreplugin/coreplugin.cpp
+++ b/src/plugins/coreplugin/coreplugin.cpp
@@ -85,7 +85,7 @@ bool CorePlugin::initialize(const QStringList & /*arguments*/, QString *error_me
         m_welcomeMode = new WelcomeMode;
         addObject(m_welcomeMode);
 
-        EditorManager *editorManager = qobject_cast<EditorManager*>(m_mainWindow->editorManager());
+        EditorManager *editorManager = m_mainWindow->editorManager();
         m_editMode = new EditMode(editorManager);
         addObject(m_editMode);
     }
diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index d3aac99cb5ddf7da312372cb5fca93c07a11e4a3..77092e343eb577dabc6fc09226e3c45129980b92 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -599,8 +599,7 @@ QList<IEditor*>
     return found.toList();
 }
 
-QList<IFile *>
-        EditorManager::filesForEditors(QList<IEditor *> editors) const
+QList<IFile *> EditorManager::filesForEditors(QList<IEditor *> editors) const
 {
     QSet<IEditor *> handledEditors;
     QList<IFile *> files;
@@ -925,9 +924,8 @@ QStringList EditorManager::getOpenFileNames() const
 
 void EditorManager::ensureEditorManagerVisible()
 {
-    if (!isVisible()) {
+    if (!isVisible())
         m_d->m_core->modeManager()->activateMode(Constants::MODE_EDIT);
-    }
 }
 
 IEditor *EditorManager::newFile(const QString &editorKind,
diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp
index 77e44faaa053b0dcda067445f5baedb71ee51a32..a7119c74547eb427c3da7b1797456593a1e69f51 100644
--- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp
+++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp
@@ -223,8 +223,7 @@ void OpenEditorsWidget::closeEditors()
     core->fileManager()->saveModifiedFiles(selectedFiles, &cancelled);
     if (cancelled)
         return;
-    core->editorManager()->
-            closeEditors(selectedEditors);
+    core->editorManager()->closeEditors(selectedEditors);
     updateEditorList();
 }
 
diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp
index d94649cba5a989ef811ad0b7642123590274cf65..c503dbd7dd827d7a7b102bb1d3a6f70d673a5f37 100644
--- a/src/plugins/coreplugin/filemanager.cpp
+++ b/src/plugins/coreplugin/filemanager.cpp
@@ -509,7 +509,7 @@ void FileManager::syncWithEditor(Core::IContext *context)
     if (!context)
         return;
 
-    Core::IEditor *editor = Core::ICore::instance()->editorManager()->currentEditor();
+    Core::IEditor *editor = Core::EditorManager::instance()->currentEditor();
     if (editor && (editor->widget() == context->widget()))
         setCurrentFile(editor->file()->fileName());
 }
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index af4cbabbbe808ebafe7d8e0d6574212bd9286eb0..4558ccaae88e3ed544085ffdc24bec71574ac873 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -84,8 +84,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_m
 
     // Create the globalcontext list to register actions accordingly
     QList<int> globalcontext;
-    globalcontext << ICore::instance()->uniqueIDManager()->
-        uniqueIdentifier(Core::Constants::C_GLOBAL);
+    globalcontext << UniqueIDManager::instance()->uniqueIdentifier(Core::Constants::C_GLOBAL);
 
     // Create the settings Page
     m_settingsPage = new SettingsPage();
@@ -129,7 +128,7 @@ void CodepasterPlugin::post()
 {
     if (m_poster)
         delete m_poster;
-    IEditor* editor = ICore::instance()->editorManager()->currentEditor();
+    IEditor* editor = EditorManager::instance()->currentEditor();
     ITextEditor* textEditor = qobject_cast<ITextEditor*>(editor);
     if (!textEditor)
         return;
@@ -240,8 +239,7 @@ void CustomFetcher::customRequestFinished(int, bool error)
     QByteArray data = body();
     if (!m_listWidget) {
         QString title = QString::fromLatin1("Code Paster: %1").arg(m_id);
-        ICore::instance()->editorManager()->newFile(Core::Constants::K_DEFAULT_TEXT_EDITOR
-                                                , &title, data);
+        EditorManager::instance()->newFile(Core::Constants::K_DEFAULT_TEXT_EDITOR, &title, data);
     } else {
         m_listWidget->clear();
         QStringList lines = QString(data).split(QLatin1Char('\n'));
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 0a9cf3958b21e7fdb7aa01a537cdb752f75111c6..87d229d6f4e57f58a6c350bef2b4240c1cd629a2 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -139,10 +139,10 @@ QualifiedNameId *qualifiedNameIdForSymbol(Symbol *s, const LookupContext &contex
 CPPEditorEditable::CPPEditorEditable(CPPEditor *editor)
     : BaseTextEditorEditable(editor)
 {
-    Core::ICore *core = Core::ICore::instance();
-    m_context << core->uniqueIDManager()->uniqueIdentifier(CppEditor::Constants::C_CPPEDITOR);
-    m_context << core->uniqueIDManager()->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
-    m_context << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_context << uidm->uniqueIdentifier(CppEditor::Constants::C_CPPEDITOR);
+    m_context << uidm->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
+    m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
 }
 
 CPPEditor::CPPEditor(QWidget *parent)
@@ -334,10 +334,10 @@ void CPPEditor::jumpToMethod(int)
     if (! symbol)
         return;
 
-    Core::ICore::instance()->editorManager()->addCurrentPositionToNavigationHistory(true);
+    Core::EditorManager::instance()->addCurrentPositionToNavigationHistory(true);
     int line = symbol->line();
     gotoLine(line);
-    Core::ICore::instance()->editorManager()->addCurrentPositionToNavigationHistory();
+    Core::EditorManager::instance()->addCurrentPositionToNavigationHistory();
     setFocus();
 }
 
diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp
index 3d09e02fc026921ad1c71acc7fcbdbcdee3a7f93..e600de92c586d3eb7cdf445508d2a2296d504a68 100644
--- a/src/plugins/cppeditor/cppplugin.cpp
+++ b/src/plugins/cppeditor/cppplugin.cpp
@@ -88,7 +88,7 @@ QString CppPluginEditorFactory::kind() const
 
 Core::IFile *CppPluginEditorFactory::open(const QString &fileName)
 {
-    Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     return iface ? iface->file() : 0;
 }
 
@@ -238,20 +238,18 @@ void CppPlugin::extensionsInitialized()
 
 void CppPlugin::switchDeclarationDefinition()
 {
-    Core::ICore *core = Core::ICore::instance();
-    CPPEditor *editor = qobject_cast<CPPEditor*>(core->editorManager()->currentEditor()->widget());
-    if (editor) {
+    Core::EditorManager *em = Core::EditorManager::instance();
+    CPPEditor *editor = qobject_cast<CPPEditor*>(em->currentEditor()->widget());
+    if (editor)
         editor->switchDeclarationDefinition();
-    }
 }
 
 void CppPlugin::jumpToDefinition()
 {
-    Core::ICore *core = Core::ICore::instance();
-    CPPEditor *editor = qobject_cast<CPPEditor*>(core->editorManager()->currentEditor()->widget());
-    if (editor) {
+    Core::EditorManager *em = Core::EditorManager::instance();
+    CPPEditor *editor = qobject_cast<CPPEditor*>(em->currentEditor()->widget());
+    if (editor)
         editor->jumpToDefinition();
-    }
 }
 
 Q_EXPORT_PLUGIN(CppPlugin)
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index c28c4a8127d499a39005520b4c7e31cb5d520993..3a8c271a0989729f59d80d37b8957a9fabd592c3 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -147,7 +147,7 @@ void CppToolsPlugin::shutdown()
 
 void CppToolsPlugin::switchHeaderSource()
 {
-    Core::EditorManager *editorManager = Core::ICore::instance()->editorManager();
+    Core::EditorManager *editorManager = Core::EditorManager::instance();
     Core::IEditor *editor = editorManager->currentEditor();
     QString otherFile = correspondingHeaderOrSource(editor->file()->fileName());
     if (!otherFile.isEmpty()) {
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index a42c10382048fcd677b1fbe86dc8e0a521d882f9..07904b8efa3acd29d74d47ff61c27e6a9685921f 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -723,18 +723,17 @@ void DebuggerPlugin::activatePreviousMode()
 
 void DebuggerPlugin::activateDebugMode()
 {
-    ICore *core = ICore::instance();
-    Core::ModeManager *modeManager = core->modeManager();
+    ModeManager *modeManager = ModeManager::instance();
     m_previousMode = QLatin1String(modeManager->currentMode()->uniqueModeName());
     modeManager->activateMode(QLatin1String(MODE_DEBUG));
 }
 
 void DebuggerPlugin::queryCurrentTextEditor(QString *fileName, int *lineNumber, QObject **object)
 {
-    ICore *core = ICore::instance();
-    if (!core || !core->editorManager())
+    EditorManager *editorManager = EditorManager::instance();
+    if (!editorManager)
         return;
-    Core::IEditor *editor = core->editorManager()->currentEditor();
+    Core::IEditor *editor = editorManager->currentEditor();
     ITextEditor *textEditor = qobject_cast<ITextEditor*>(editor);
     if (!textEditor)
         return;
diff --git a/src/plugins/designer/formeditorfactory.cpp b/src/plugins/designer/formeditorfactory.cpp
index b07140eff61491eb0530579ea418dbb3da995689..df3c59adfa3f6a3fe06261e55f6bcb386548ab7b 100644
--- a/src/plugins/designer/formeditorfactory.cpp
+++ b/src/plugins/designer/formeditorfactory.cpp
@@ -63,7 +63,7 @@ QString FormEditorFactory::kind() const
 
 Core::IFile *FormEditorFactory::open(const QString &fileName)
 {
-    Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     return iface ? iface->file() : 0;
 }
 
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index f00f6d711eff9781c50c2ea50a588eb1bb60e234..11823909585901a621faa645e81e33634af047b6 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -236,8 +236,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *error_message)
     m_gitClient = new GitClient(this);
     // Create the globalcontext list to register actions accordingly
     QList<int> globalcontext;
-    globalcontext << m_core->uniqueIDManager()->
-        uniqueIdentifier(Core::Constants::C_GLOBAL);
+    globalcontext << m_core->uniqueIDManager()->uniqueIdentifier(Core::Constants::C_GLOBAL);
 
     // Create the output Window
     m_outputWindow = new GitOutputWindow();
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp
index 23db7b2862a957fba3a5b0b5ed60f686d1e5fd82..7d126c4bb945fcf2356c5c0aef063480b3b0d1e7 100644
--- a/src/plugins/perforce/perforceplugin.cpp
+++ b/src/plugins/perforce/perforceplugin.cpp
@@ -241,8 +241,8 @@ bool PerforcePlugin::initialize(const QStringList &arguments, QString *errorMess
     globalcontext << Core::Constants::C_GLOBAL_ID;
 
     QList<int> perforcesubmitcontext;
-    perforcesubmitcontext <<
-            Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_PERFORCESUBMITEDITOR);
+    perforcesubmitcontext << Core::UniqueIDManager::instance()->
+            uniqueIdentifier(Constants::C_PERFORCESUBMITEDITOR);
 
     Core::Command *command;
     QAction *tmpaction;
@@ -467,7 +467,7 @@ void PerforcePlugin::diffAllOpened()
 
 void PerforcePlugin::printOpenedFileList()
 {
-    Core::IEditor *e = Core::ICore::instance()->editorManager()->currentEditor();
+    Core::IEditor *e = Core::EditorManager::instance()->currentEditor();
     if (e)
         e->widget()->setFocus();
     PerforceResponse result = runP4Cmd(QStringList() << QLatin1String("opened"), QStringList(), CommandToWindow|StdOutToWindow|StdErrToWindow|ErrorToWindow);
@@ -542,9 +542,9 @@ void PerforcePlugin::submit()
 
 Core::IEditor *PerforcePlugin::openPerforceSubmitEditor(const QString &fileName, const QStringList &depotFileNames)
 {
-    Core::IEditor *editor =
-            Core::ICore::instance()->editorManager()->openEditor(fileName, Constants::PERFORCESUBMITEDITOR_KIND);
-    Core::ICore::instance()->editorManager()->ensureEditorManagerVisible();
+    Core::EditorManager *editorManager = Core::EditorManager::instance();
+    Core::IEditor *editor = editorManager->openEditor(fileName, Constants::PERFORCESUBMITEDITOR_KIND);
+    editorManager->ensureEditorManagerVisible();
     PerforceSubmitEditor *submitEditor = dynamic_cast<PerforceSubmitEditor*>(editor);
     QTC_ASSERT(submitEditor, return 0);
     submitEditor->restrictToProjectFiles(depotFileNames);
@@ -841,9 +841,9 @@ Core::IEditor * PerforcePlugin::showOutputInEditor(const QString& title, const Q
     if (Perforce::Constants::debug)
         qDebug() << "PerforcePlugin::showOutputInEditor" << title << kind <<  "Size= " << output.size() <<  " Type=" << editorType << debugCodec(codec);
     QString s = title;
-    Core::IEditor *ediface = Core::ICore::instance()->editorManager()->
+    Core::IEditor *editor = Core::EditorManager::instance()->
         newFile(kind, &s, output.toLocal8Bit());
-    PerforceEditor *e = qobject_cast<PerforceEditor*>(ediface->widget());
+    PerforceEditor *e = qobject_cast<PerforceEditor*>(editor->widget());
     if (!e)
         return 0;
     s.replace(QLatin1Char(' '), QLatin1Char('_'));
@@ -857,7 +857,7 @@ QStringList PerforcePlugin::environment() const
 {
     QStringList newEnv = QProcess::systemEnvironment();
     const QString name = "P4DIFF";
-    for (int i=0; i<newEnv.count(); ++i) {
+    for (int i = 0; i < newEnv.count(); ++i) {
         if (newEnv.at(i).startsWith(name)) {
             newEnv.removeAt(i);
             return newEnv;
@@ -889,7 +889,7 @@ void PerforcePlugin::p4Diff(const QStringList &files, QString diffname)
             diffname = fi.fileName();
         }
 
-        foreach (Core::IEditor *ed, Core::ICore::instance()->editorManager()->openedEditors()) {
+        foreach (Core::IEditor *ed, Core::EditorManager::instance()->openedEditors()) {
             if (ed->property("originalFileName").toString() == fileName) {
                 existingEditor = ed;
                 displayInEditor = false;
@@ -912,7 +912,7 @@ void PerforcePlugin::p4Diff(const QStringList &files, QString diffname)
         } else if (!displayInEditor && existingEditor) {
             if (existingEditor) {
                 existingEditor->createNew(result.stdOut);
-                Core::ICore::instance()->editorManager()->setCurrentEditor(existingEditor);
+                Core::EditorManager::instance()->setCurrentEditor(existingEditor);
             }
         }
     }
@@ -930,7 +930,7 @@ void PerforcePlugin::describe(const QString & source, const QString &n)
 
 void PerforcePlugin::submitCurrentLog()
 {
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     em->closeEditors(QList<Core::IEditor*>() << em->currentEditor());
 }
 
@@ -1004,8 +1004,8 @@ bool PerforcePlugin::editorAboutToClose(Core::IEditor *editor)
 
 void PerforcePlugin::openFiles(const QStringList &files)
 {
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
-    foreach (QString s, files)
+    Core::EditorManager *em = Core::EditorManager::instance();
+    foreach (const QString &s, files)
         em->openEditor(clientFilePath(s));
     em->ensureEditorManagerVisible();
 }
diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp
index 1cb9979538c9e9e386f7148c5fb48c68b9c5583a..29b0fbe1cd1da1f8e85e4669c29a20f88656a914 100644
--- a/src/plugins/projectexplorer/foldernavigationwidget.cpp
+++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp
@@ -170,7 +170,7 @@ void FolderNavigationWidget::openItem(const QModelIndex &index)
             setCurrentTitle(QDir(m_dirModel->filePath(srcIndex)));
         } else {
             const QString filePath = m_dirModel->filePath(srcIndex);
-            Core::EditorManager *editorManager = Core::ICore::instance()->editorManager();
+            Core::EditorManager *editorManager = Core::EditorManager::instance();
             editorManager->openEditor(filePath);
             editorManager->ensureEditorManagerVisible();
         }
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 5b60ab1db0dc86f3b6fc5548f7a9fa0b7d36ab38..69b642bc4259f013b2408a54e9dc1d6df627b0bb 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -870,7 +870,7 @@ bool ProjectExplorerPlugin::openProjects(const QStringList &fileNames)
 
     updateActions();
 
-    Core::ICore::instance()->modeManager()->activateMode(Core::Constants::MODE_EDIT);
+    Core::ModeManager::instance()->activateMode(Core::Constants::MODE_EDIT);
     QApplication::restoreOverrideCursor();
 
     return true;
@@ -986,7 +986,7 @@ void ProjectExplorerPlugin::restoreSession()
     }
 
     // update welcome page
-    Core::ModeManager *modeManager = Core::ICore::instance()->modeManager();
+    Core::ModeManager *modeManager = Core::ModeManager::instance();
     connect(modeManager, SIGNAL(currentModeChanged(Core::IMode*)), this, SLOT(currentModeChanged(Core::IMode*)));
     if (Core::Internal::WelcomeMode *welcomeMode = qobject_cast<Core::Internal::WelcomeMode*>(modeManager->mode(Core::Constants::MODE_WELCOME))) {
         updateWelcomePage(welcomeMode);
@@ -1618,9 +1618,9 @@ void ProjectExplorerPlugin::openFile()
 {
     if (m_currentNode)
         return;
-    Core::ICore *core = Core::ICore::instance();
-    core->editorManager()->openEditor(m_currentNode->path());
-    core->editorManager()->ensureEditorManagerVisible();
+    Core::EditorManager *em = Core::EditorManager::instance();
+    em->openEditor(m_currentNode->path());
+    em->ensureEditorManagerVisible();
 }
 
 void ProjectExplorerPlugin::removeFile()
@@ -1802,7 +1802,7 @@ void ProjectExplorerPlugin::openWithMenuTriggered(QAction *action)
         qWarning() << "Editor Factory not attached to action, can't happen"<<editorFactory;
         return;
     }
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     em->openEditor(currentNode()->path(), editorFactory->kind());
     em->ensureEditorManagerVisible();
 }
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index dc6db614996d6355cba3cc62d6b81e2caaffe755..3329f80788a7f31a44f6fd632ae9dc98651842c0 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -291,7 +291,7 @@ void ProjectTreeWidget::openItem(const QModelIndex &mainIndex)
 {
     Node *node = m_model->nodeForIndex(mainIndex);
     if (node->nodeType() == FileNodeType) {
-        Core::EditorManager *editorManager = Core::ICore::instance()->editorManager();
+        Core::EditorManager *editorManager = Core::EditorManager::instance();
         editorManager->openEditor(node->path());
         editorManager->ensureEditorManagerVisible();
     }
diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp
index 03243abb5ca1a9f74aff29e1ca388e59133a3539..0091c82f2d490b57a335e04c625e759171abfba8 100644
--- a/src/plugins/projectexplorer/taskwindow.cpp
+++ b/src/plugins/projectexplorer/taskwindow.cpp
@@ -578,8 +578,8 @@ void TaskDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
 TaskWindowContext::TaskWindowContext(QWidget *widget)
     : m_taskList(widget)
 {
-    Core::ICore *core = Core::ICore::instance();
-    m_context << core->uniqueIDManager()->uniqueIdentifier(Core::Constants::C_PROBLEM_PANE);
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_context << uidm->uniqueIdentifier(Core::Constants::C_PROBLEM_PANE);
 }
 
 QList<int> TaskWindowContext::context() const
diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp
index 12750868c4b4a48c176def4bbb3de83b664e219e..3cab2eaaca5c06ce4c9629a60bb76333e2b9973a 100644
--- a/src/plugins/qt4projectmanager/profileeditor.cpp
+++ b/src/plugins/qt4projectmanager/profileeditor.cpp
@@ -40,7 +40,6 @@
 #include "proeditormodel.h"
 #include "procommandmanager.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
 #include <texteditor/fontsettings.h>
 #include <texteditor/texteditoractionhandler.h>
@@ -62,13 +61,10 @@ using namespace ProjectExplorer;
 ProFileEditorEditable::ProFileEditorEditable(ProFileEditor *editor)
     : BaseTextEditorEditable(editor)
 {
-    Core::ICore *core = Core::ICore::instance();
-    m_context << core->uniqueIDManager()->
-        uniqueIdentifier(Qt4ProjectManager::Constants::C_PROFILEEDITOR);
-    m_context << core->uniqueIDManager()->
-        uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
-//    m_contexts << core->uniqueIDManager()->
-//        uniqueIdentifier(Qt4ProjectManager::Constants::PROJECT_KIND);
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_context << uidm->uniqueIdentifier(Qt4ProjectManager::Constants::C_PROFILEEDITOR);
+    m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
+//    m_contexts << uidm->uniqueIdentifier(Qt4ProjectManager::Constants::PROJECT_KIND);
 }
 
 TextEditor::BaseTextEditorEditable *ProFileEditor::createEditableInterface()
diff --git a/src/plugins/qt4projectmanager/profileeditorfactory.cpp b/src/plugins/qt4projectmanager/profileeditorfactory.cpp
index b3d32a025e4862275f5eda96b52e349aaafa8eb5..21299bb2feae79771dc1dfa34a22eaecb97904b5 100644
--- a/src/plugins/qt4projectmanager/profileeditorfactory.cpp
+++ b/src/plugins/qt4projectmanager/profileeditorfactory.cpp
@@ -37,7 +37,6 @@
 #include "qt4projectmanagerconstants.h"
 #include "profileeditor.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/fileiconprovider.h>
 #include <coreplugin/editormanager/editormanager.h>
 #include <texteditor/texteditoractionhandler.h>
@@ -74,8 +73,7 @@ QString ProFileEditorFactory::kind() const
 
 Core::IFile *ProFileEditorFactory::open(const QString &fileName)
 {
-    Core::ICore *core = Core::ICore::instance();
-    Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     return iface ? iface->file() : 0;
 }
 
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
index 8d44d81df20c0b9c3f0fee38eeab28ea44c03bf9..4356b0b536e80e69fe78b23ab667bb37b260ee63 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
@@ -89,8 +89,8 @@ Qt4Manager::Qt4Manager(Qt4ProjectManagerPlugin *plugin)
     m_contextProject(0),
     m_languageID(0)
 {
-    m_languageID = Core::ICore::instance()->uniqueIDManager()->
-        uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
+    m_languageID = Core::UniqueIDManager::instance()->
+                   uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
 }
 
 Qt4Manager::~Qt4Manager()
diff --git a/src/plugins/qtscripteditor/qtscripteditorfactory.cpp b/src/plugins/qtscripteditor/qtscripteditorfactory.cpp
index 9e169648f128b92b55140fa3cb18825d6d7f832b..1f776d8df0829285373c5c88a54a55560b405eae 100644
--- a/src/plugins/qtscripteditor/qtscripteditorfactory.cpp
+++ b/src/plugins/qtscripteditor/qtscripteditorfactory.cpp
@@ -37,7 +37,6 @@
 #include "qtscripteditorconstants.h"
 #include "qtscripteditorplugin.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
 
 #include <QtCore/QFileInfo>
@@ -67,7 +66,7 @@ QString QtScriptEditorFactory::kind() const
 
 Core::IFile *QtScriptEditorFactory::open(const QString &fileName)
 {
-    Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     if (!iface) {
         qWarning() << "QtScriptEditorFactory::open: openEditor failed for " << fileName;
         return 0;
diff --git a/src/plugins/quickopen/basefilefilter.cpp b/src/plugins/quickopen/basefilefilter.cpp
index 147cd5b07d14b7b45209d2004775737f2cb176bf..8bd10cd4a6bd84586f9cd63f1684b45a1ef42970 100644
--- a/src/plugins/quickopen/basefilefilter.cpp
+++ b/src/plugins/quickopen/basefilefilter.cpp
@@ -33,7 +33,6 @@
 
 #include "basefilefilter.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
 
 #include <QtCore/QDir>
@@ -89,7 +88,7 @@ QList<FilterEntry> BaseFileFilter::matchesFor(const QString &origEntry)
 
 void BaseFileFilter::accept(QuickOpen::FilterEntry selection) const
 {
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     em->openEditor(selection.internalData.toString());
     em->ensureEditorManagerVisible();
 }
diff --git a/src/plugins/resourceeditor/resourceeditorfactory.cpp b/src/plugins/resourceeditor/resourceeditorfactory.cpp
index 658a572c3949b5ae867aa35531f8ab3f1290cf53..dcdd691c9fc8afc209ce030cdb28b611ac2f717a 100644
--- a/src/plugins/resourceeditor/resourceeditorfactory.cpp
+++ b/src/plugins/resourceeditor/resourceeditorfactory.cpp
@@ -36,7 +36,6 @@
 #include "resourceeditorplugin.h"
 #include "resourceeditorconstants.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/fileiconprovider.h>
 #include <coreplugin/editormanager/editormanager.h>
@@ -53,7 +52,7 @@ ResourceEditorFactory::ResourceEditorFactory(ResourceEditorPlugin *plugin) :
     m_kind(QLatin1String(C_RESOURCEEDITOR)),
     m_plugin(plugin)
 {
-    m_context += Core::ICore::instance()->uniqueIDManager()
+    m_context += Core::UniqueIDManager::instance()
                  ->uniqueIdentifier(QLatin1String(ResourceEditor::Constants::C_RESOURCEEDITOR));
     Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
     iconProvider->registerIconForSuffix(QIcon(":/resourceeditor/images/qt_qrc.png"),
@@ -67,7 +66,7 @@ QString ResourceEditorFactory::kind() const
 
 Core::IFile *ResourceEditorFactory::open(const QString &fileName)
 {
-    Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     if (!iface) {
         qWarning() << "ResourceEditorFactory::open: openEditor failed for " << fileName;
         return 0;
diff --git a/src/plugins/resourceeditor/resourceeditorplugin.cpp b/src/plugins/resourceeditor/resourceeditorplugin.cpp
index 7e5a7dcd1f8b853178080e25dcce868ba130fe3a..117ccedfbd7f85cdb10631c975f98cec64b1b472 100644
--- a/src/plugins/resourceeditor/resourceeditorplugin.cpp
+++ b/src/plugins/resourceeditor/resourceeditorplugin.cpp
@@ -129,7 +129,7 @@ void ResourceEditorPlugin::onUndoStackChanged(ResourceEditorW const *editor,
 ResourceEditorW * ResourceEditorPlugin::currentEditor() const
 {
     ResourceEditorW * const focusEditor = qobject_cast<ResourceEditorW *>(
-            Core::ICore::instance()->editorManager()->currentEditor());
+            Core::EditorManager::instance()->currentEditor());
     QTC_ASSERT(focusEditor, return 0);
     return focusEditor;
 }
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index 4d10297d9b9181584d700f48b4d167893db08f0e..7f6ea476eb29d12fd27ae5f74102fa476757c97b 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -134,7 +134,7 @@ static inline QString debugCodec(const QTextCodec *c)
 
 Core::IEditor* locateEditor(const char *property, const QString &entry)
 {
-    foreach (Core::IEditor *ed, Core::ICore::instance()->editorManager()->openedEditors())
+    foreach (Core::IEditor *ed, Core::EditorManager::instance()->openedEditors())
         if (ed->property(property).toString() == entry)
             return ed;
     return 0;
@@ -407,7 +407,7 @@ bool SubversionPlugin::initialize(const QStringList &arguments, QString *errorMe
 
     // Actions of the submit editor
     QList<int> svncommitcontext;
-    svncommitcontext << Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(Constants::SUBVERSIONCOMMITEDITOR);
+    svncommitcontext << Core::UniqueIDManager::instance()->uniqueIdentifier(Constants::SUBVERSIONCOMMITEDITOR);
 
     m_submitCurrentLogAction = new QAction(VCSBase::VCSBaseSubmitEditor::submitIcon(), tr("Commit"), this);
     command = ami->registerAction(m_submitCurrentLogAction, Constants::SUBMIT_CURRENT, svncommitcontext);
@@ -513,7 +513,7 @@ void SubversionPlugin::svnDiff(const QStringList &files, QString diffname)
         // Show in the same editor if diff has been executed before
         if (Core::IEditor *editor = locateEditor("originalFileName", files.front())) {
             editor->createNew(response.stdOut);
-            Core::ICore::instance()->editorManager()->setCurrentEditor(editor);
+            Core::EditorManager::instance()->setCurrentEditor(editor);
             return;
         }
     }
@@ -525,7 +525,7 @@ void SubversionPlugin::svnDiff(const QStringList &files, QString diffname)
 
 SubversionSubmitEditor *SubversionPlugin::openSubversionSubmitEditor(const QString &fileName)
 {
-    Core::IEditor *editor = Core::ICore::instance()->editorManager()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND));
+    Core::IEditor *editor = Core::EditorManager::instance()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND));
     SubversionSubmitEditor *submitEditor = qobject_cast<SubversionSubmitEditor*>(editor);
     QTC_ASSERT(submitEditor, /**/);
     submitEditor->registerActions(m_submitUndoAction, m_submitRedoAction, m_submitCurrentLogAction, m_submitDiffAction);
@@ -776,7 +776,7 @@ void SubversionPlugin::filelog(const QString &file)
 
     if (Core::IEditor *editor = locateEditor("logFileName", file)) {
         editor->createNew(response.stdOut);
-        Core::ICore::instance()->editorManager()->setCurrentEditor(editor);
+        Core::EditorManager::instance()->setCurrentEditor(editor);
     } else {
         const QString title = tr("svn log %1").arg(QFileInfo(file).fileName());
         Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::LogOutput, file, codec);
@@ -819,7 +819,7 @@ void SubversionPlugin::annotate(const QString &file)
 
     if (Core::IEditor *editor = locateEditor("annotateFileName", file)) {
         editor->createNew(response.stdOut);
-        Core::ICore::instance()->editorManager()->setCurrentEditor(editor);
+        Core::EditorManager::instance()->setCurrentEditor(editor);
     } else {
         const QString title = tr("svn annotate %1").arg(QFileInfo(file).fileName());
         Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::AnnotateOutput, file, codec);
@@ -873,7 +873,7 @@ void SubversionPlugin::describe(const QString &source, const QString &changeNr)
     const QString id = diffArg + source;
     if (Core::IEditor *editor = locateEditor("describeChange", id)) {
         editor->createNew(response.stdOut);
-        Core::ICore::instance()->editorManager()->setCurrentEditor(editor);
+        Core::EditorManager::instance()->setCurrentEditor(editor);
     } else {
         const QString title = tr("svn describe %1#%2").arg(QFileInfo(source).fileName(), changeNr);
         Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::DiffOutput, source, codec);
@@ -883,8 +883,8 @@ void SubversionPlugin::describe(const QString &source, const QString &changeNr)
 
 void SubversionPlugin::submitCurrentLog()
 {
-    Core::ICore::instance()->editorManager()->closeEditors(QList<Core::IEditor*>()
-        << Core::ICore::instance()->editorManager()->currentEditor());
+    Core::EditorManager::instance()->closeEditors(QList<Core::IEditor*>()
+        << Core::EditorManager::instance()->currentEditor());
 }
 
 QString SubversionPlugin::currentFileName() const
@@ -990,8 +990,8 @@ Core::IEditor * SubversionPlugin::showOutputInEditor(const QString& title, const
     if (Subversion::Constants::debug)
         qDebug() << "SubversionPlugin::showOutputInEditor" << title << kind <<  "Size= " << output.size() <<  " Type=" << editorType << debugCodec(codec);
     QString s = title;
-    Core::IEditor *ediface = Core::ICore::instance()->editorManager()->newFile(kind, &s, output.toLocal8Bit());
-    SubversionEditor *e = qobject_cast<SubversionEditor*>(ediface->widget());
+    Core::IEditor *editor = Core::EditorManager::instance()->newFile(kind, &s, output.toLocal8Bit());
+    SubversionEditor *e = qobject_cast<SubversionEditor*>(editor->widget());
     if (!e)
         return 0;
     s.replace(QLatin1Char(' '), QLatin1Char('_'));
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index cae7df6bd7d58d0f0dda146f2436bd621e830824..0e058ff752e1635b472cae29a82070d4abeaa7e9 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -43,7 +43,6 @@
 #include "codecselector.h"
 
 #ifndef TEXTEDITOR_STANDALONE
-#include <coreplugin/icore.h>
 #include <coreplugin/manhattanstyle.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/editormanager/editormanager.h>
@@ -132,7 +131,7 @@ ITextEditor *BaseTextEditor::openEditorAt(const QString &fileName,
                                              int column,
                                              const QString &editorKind)
 {
-    Core::EditorManager *editorManager = Core::ICore::instance()->editorManager();
+    Core::EditorManager *editorManager = Core::EditorManager::instance();
     editorManager->addCurrentPositionToNavigationHistory(true);
     Core::IEditor *editor = editorManager->openEditor(fileName, editorKind, true);
     TextEditor::ITextEditor *texteditor = qobject_cast<TextEditor::ITextEditor *>(editor);
diff --git a/src/plugins/texteditor/basetextmark.cpp b/src/plugins/texteditor/basetextmark.cpp
index c5db69325657e50643a59d1408cd0e9a6ae97458..b6ec76b7ddc84707d05a462d10e1e633c004b46b 100644
--- a/src/plugins/texteditor/basetextmark.cpp
+++ b/src/plugins/texteditor/basetextmark.cpp
@@ -35,7 +35,6 @@
 
 #include <coreplugin/editormanager/editormanager.h>
 #include <extensionsystem/pluginmanager.h>
-#include <coreplugin/icore.h>
 
 #include <QtCore/QTimer>
 
@@ -57,7 +56,7 @@ BaseTextMark::BaseTextMark(const QString &filename, int line)
 void BaseTextMark::init()
 {
     m_init = true;
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     connect(em, SIGNAL(editorOpened(Core::IEditor *)), this, SLOT(editorOpened(Core::IEditor *)));
 
     foreach (Core::IEditor *editor, em->openedEditors())
@@ -117,7 +116,7 @@ void BaseTextMark::updateMarker()
 
 void BaseTextMark::moveMark(const QString & /* filename */, int /* line */)
 {
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     if (!m_init) {
         connect(em, SIGNAL(editorOpened(Core::IEditor *)), this, SLOT(editorOpened(Core::IEditor *)));
         m_init = true;
diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp
index 4a76df107660f35269e9c084f07ace2e01add38c..ed0e43e30b7411c0db06b3a65e0c6b2321158df8 100644
--- a/src/plugins/texteditor/plaintexteditor.cpp
+++ b/src/plugins/texteditor/plaintexteditor.cpp
@@ -36,7 +36,6 @@
 #include "texteditorplugin.h"
 
 #include <coreplugin/coreconstants.h>
-#include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
 
 using namespace TextEditor;
@@ -45,11 +44,9 @@ using namespace TextEditor::Internal;
 PlainTextEditorEditable::PlainTextEditorEditable(PlainTextEditor *editor)
     :BaseTextEditorEditable(editor)
 {
-    Core::ICore *core = Core::ICore::instance();
-    m_context << core->uniqueIDManager()->
-        uniqueIdentifier(Core::Constants::K_DEFAULT_TEXT_EDITOR);
-    m_context << core->uniqueIDManager()->
-        uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_context << uidm->uniqueIdentifier(Core::Constants::K_DEFAULT_TEXT_EDITOR);
+    m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
 }
 
 PlainTextEditor::PlainTextEditor(QWidget *parent) :
diff --git a/src/plugins/texteditor/plaintexteditorfactory.cpp b/src/plugins/texteditor/plaintexteditorfactory.cpp
index 7c63855ec7a74c4880e176f6f58fa8c9e4ea1089..8fc40ac703f936fa42fbfe43ebcb38bdda370620 100644
--- a/src/plugins/texteditor/plaintexteditorfactory.cpp
+++ b/src/plugins/texteditor/plaintexteditorfactory.cpp
@@ -37,7 +37,6 @@
 #include "texteditorplugin.h"
 #include "texteditoractionhandler.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/editormanager/editormanager.h>
 
@@ -67,8 +66,7 @@ QString PlainTextEditorFactory::kind() const
 
 Core::IFile *PlainTextEditorFactory::open(const QString &fileName)
 {
-    Core::ICore *core = Core::ICore::instance();
-    Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     return iface ? iface->file() : 0;
 }
 
diff --git a/src/plugins/texteditor/texteditoractionhandler.cpp b/src/plugins/texteditor/texteditoractionhandler.cpp
index 511e1d919e7dfa130c7a21130405ec86821ae5ff..5ff46ef1353f94174ff13db0d390ba93fe070004 100644
--- a/src/plugins/texteditor/texteditoractionhandler.cpp
+++ b/src/plugins/texteditor/texteditoractionhandler.cpp
@@ -89,7 +89,7 @@ TextEditorActionHandler::TextEditorActionHandler(const QString &context,
     m_moveLineUpAction = 0;
     m_moveLineDownAction = 0;
 
-    m_contextId << Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(context);
+    m_contextId << Core::UniqueIDManager::instance()->uniqueIdentifier(context);
 
     connect(Core::ICore::instance(), SIGNAL(contextAboutToChange(Core::IContext *)),
         this, SLOT(updateCurrentEditor(Core::IContext *)));
diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp
index 23b96a5321762269ecc7edfae935b60d987098a7..3432d221e4e7e7d780f6366a4994dd9f456374b8 100644
--- a/src/plugins/texteditor/texteditorplugin.cpp
+++ b/src/plugins/texteditor/texteditorplugin.cpp
@@ -166,7 +166,7 @@ void TextEditorPlugin::initializeEditor(TextEditor::PlainTextEditor *editor)
 
 void TextEditorPlugin::invokeCompletion()
 {
-    Core::IEditor *iface = Core::ICore::instance()->editorManager()->currentEditor();
+    Core::IEditor *iface = Core::EditorManager::instance()->currentEditor();
     ITextEditor *editor = qobject_cast<ITextEditor *>(iface);
     if (editor)
         editor->triggerCompletions();
diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp
index edfadc7032a27da683f68b32ef207e27cf73e5a2..d7f85a9449d2ce4389bd597ba5562a06f676b22a 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcseditorfactory.cpp
@@ -35,7 +35,6 @@
 #include "vcsbaseplugin.h"
 #include "vcsbaseeditor.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
 #include <texteditor/fontsettings.h>
 #include <texteditor/texteditoractionhandler.h>
@@ -83,7 +82,7 @@ QString BaseVCSEditorFactory::kind() const
 
 Core::IFile *BaseVCSEditorFactory::open(const QString &fileName)
 {
-    Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind());
+    Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind());
     return iface ? iface->file() : 0;
 }
 
diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp
index f4610ed668563ae756724c84b5c2cc53a854645d..616f27794a392e3fd858e8708da12b63d588c6b9 100644
--- a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp
@@ -34,7 +34,6 @@
 #include "basevcssubmiteditorfactory.h"
 #include "vcsbasesubmiteditor.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
 
 namespace VCSBase {
@@ -82,8 +81,7 @@ QStringList BaseVCSSubmitEditorFactory::mimeTypes() const
 
 Core::IFile *BaseVCSSubmitEditorFactory::open(const QString &fileName)
 {
-    Core::ICore *core = Core::ICore::instance();
-    if (Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind()))
+    if (Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()))
         return iface->file();
     return 0;
 }
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 7cf2f2a9a4ee1564b8f9186918ac3a9a6f822ce0..5a4e02dd81eaf4fc6eed60fbf2e634659ed0515e 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -38,7 +38,6 @@
 #include "vcsbaseconstants.h"
 
 #include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/editorconfiguration.h>
@@ -85,10 +84,9 @@ VCSBaseEditorEditable::VCSBaseEditorEditable(VCSBaseEditor *editor,
                                              const VCSBaseEditorParameters *type)
     : BaseTextEditorEditable(editor), m_kind(type->kind)
 {
-    Core::ICore *core = Core::ICore::instance();
-    m_context << core->uniqueIDManager()->uniqueIdentifier(QLatin1String(type->context))
-              << core->uniqueIDManager()->uniqueIdentifier(QLatin1String(TextEditor::Constants::C_TEXTEDITOR));
-
+    Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
+    m_context << uidm->uniqueIdentifier(QLatin1String(type->context))
+              << uidm->uniqueIdentifier(QLatin1String(TextEditor::Constants::C_TEXTEDITOR));
 }
 
 QList<int> VCSBaseEditorEditable::context() const
@@ -363,7 +361,7 @@ void VCSBaseEditor::jumpToChangeFromDiff(QTextCursor cursor)
     if (!exists)
         return;
 
-    Core::EditorManager *em = Core::ICore::instance()->editorManager();
+    Core::EditorManager *em = Core::EditorManager::instance();
     Core::IEditor *ed = em->openEditor(fileName);
     em->ensureEditorManagerVisible();
     if (TextEditor::ITextEditor *editor = qobject_cast<TextEditor::ITextEditor *>(ed))
@@ -409,8 +407,7 @@ static QTextCodec *findFileCodec(const QString &source)
 {
     typedef QList<Core::IEditor *> EditorList;
 
-    const EditorList editors =
-        Core::ICore::instance()->editorManager()->editorsForFileName(source);
+    const EditorList editors = Core::EditorManager::instance()->editorsForFileName(source);
     if (!editors.empty()) {
         const EditorList::const_iterator ecend =  editors.constEnd();
         for (EditorList::const_iterator it = editors.constBegin(); it != ecend; ++it)
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index 64192d1b6b4382017856090d3a6c935baf948b60..16636aaedb276483657ffcbfe58ab07b746f7093 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -35,7 +35,6 @@
 #include "submiteditorfile.h"
 
 #include <coreplugin/ifile.h>
-#include <coreplugin/icore.h>
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <extensionsystem/pluginmanager.h>
@@ -84,7 +83,7 @@ VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditor
     m_parameters(parameters),
     m_file(new VCSBase::Internal::SubmitEditorFile(QLatin1String(m_parameters->mimeType), q))
 {
-    m_contexts << Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(m_parameters->context);
+    m_contexts << Core::UniqueIDManager::instance()->uniqueIdentifier(m_parameters->context);
 }
 
 VCSBaseSubmitEditor::VCSBaseSubmitEditor(const VCSBaseSubmitEditorParameters *parameters,