Changed the way the Injector is created.
diff --git a/src/main/java/org/apache/cayenne/modeler/CayenneModeler.java b/src/main/java/org/apache/cayenne/modeler/CayenneModeler.java
index 31c2bed..3422527 100644
--- a/src/main/java/org/apache/cayenne/modeler/CayenneModeler.java
+++ b/src/main/java/org/apache/cayenne/modeler/CayenneModeler.java
@@ -24,10 +24,8 @@
 
 import org.apache.cayenne.configuration.server.ServerModule;
 import org.apache.cayenne.di.DIBootstrap;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.modeler.di.CayenneModelerModule;
+import org.apache.cayenne.modeler.di.Injection;
 import org.apache.cayenne.modeler.layout.MainWindowLayout;
 import org.apache.cayenne.modeler.layout.PreferencesLayout;
 import org.apache.cayenne.modeler.layout.SplashLayout;
@@ -167,20 +165,20 @@
 //        return primaryStage;
 //    }
 
-    @Inject
-    protected static Injector injector;
-
-    public static Injector getInjector()
-    {
-        return injector;
-    }
+//    @Inject
+//    protected static Injector injector;
+//
+//    public static Injector getInjector()
+//    {
+//        return injector;
+//    }
 
 
     protected static Collection<Module> appendModules(final Collection<Module> modules)
     {
         modules.add(new ServerModule("CayenneModeler"));
         modules.add(new CayenneProjectModule());
-        modules.add(new CayenneModelerModule());
+//        modules.add(new CayenneModelerModule());
 
         return modules;
     }
@@ -189,7 +187,7 @@
     {
 //        Font.loadFont(CayenneModeler.class.getResource("/font/fontawesome-webfont.ttf").toExternalForm(), 10);
 
-        injector = DIBootstrap.createInjector(appendModules(new ArrayList<Module>()));
+        Injection.setInjector(DIBootstrap.createInjector(appendModules(new ArrayList<Module>())));
 
         launch(args);
     }
diff --git a/src/main/java/org/apache/cayenne/modeler/di/CayenneModelerModule.java b/src/main/java/org/apache/cayenne/modeler/di/CayenneModelerModule.java
index fc5263d..9228172 100644
--- a/src/main/java/org/apache/cayenne/modeler/di/CayenneModelerModule.java
+++ b/src/main/java/org/apache/cayenne/modeler/di/CayenneModelerModule.java
@@ -21,14 +21,6 @@
 
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
-//import org.apache.cayenne.modeler.Application;
-//import org.apache.cayenne.modeler.action.ActionManager;
-//import org.apache.cayenne.modeler.action.DefaultActionManager;
-//import org.apache.cayenne.modeler.init.platform.GenericPlatformInitializer;
-//import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
-//import org.apache.cayenne.modeler.util.DefaultWidgetFactory;
-//import org.apache.cayenne.modeler.util.WidgetFactory;
-import org.apache.cayenne.modeler.CayenneModeler;
 
 /**
  * A DI module for bootstrapping CayenneModeler services.
@@ -36,8 +28,8 @@
 public class CayenneModelerModule implements Module
 {
     @Override
-    public void configure(Binder binder)
+    public void configure(final Binder binder)
     {
-        binder.bind(CayenneModeler.class).to(CayenneModeler.class);
+//        binder.bind(CayenneModeler.class).to(CayenneModeler.class);
     }
 }
diff --git a/src/main/java/org/apache/cayenne/modeler/di/Injection.java b/src/main/java/org/apache/cayenne/modeler/di/Injection.java
new file mode 100644
index 0000000..4772014
--- /dev/null
+++ b/src/main/java/org/apache/cayenne/modeler/di/Injection.java
@@ -0,0 +1,19 @@
+package org.apache.cayenne.modeler.di;
+
+import org.apache.cayenne.di.Injector;
+
+public class Injection
+{
+    private static Injector injector;
+
+    public static Injector getInjector()
+    {
+        return injector;
+    }
+
+    public static void setInjector(final Injector injector)
+    {
+        Injection.injector = injector;
+    }
+
+}
diff --git a/src/main/java/org/apache/cayenne/modeler/project/CayenneProject.java b/src/main/java/org/apache/cayenne/modeler/project/CayenneProject.java
index f173f2b..d1997a9 100644
--- a/src/main/java/org/apache/cayenne/modeler/project/CayenneProject.java
+++ b/src/main/java/org/apache/cayenne/modeler/project/CayenneProject.java
@@ -30,8 +30,8 @@
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.CayenneModeler;
 import org.apache.cayenne.modeler.adapters.DataDomainAdapter;
+import org.apache.cayenne.modeler.di.Injection;
 import org.apache.cayenne.project.Project;
 import org.apache.cayenne.project.ProjectLoader;
 import org.apache.cayenne.project.upgrade.ProjectUpgrader;
@@ -74,15 +74,15 @@
     private DataChannelDescriptor root;
 
     // TODO: Handle this exception.
-    public CayenneProject(final String path) throws MalformedURLException
+    public CayenneProject(String path) throws MalformedURLException
     {
 //        this.path = path;
 //        URL url = CayenneModeler.class.getResource(path);
-        final URL url = new File(path).toURI().toURL();
-        final Resource rootSource = new URLResource(url);
-        final ProjectUpgrader upgrader = CayenneModeler.getInjector().getInstance(ProjectUpgrader.class);
-        final UpgradeHandler handler = upgrader.getUpgradeHandler(rootSource);
-        final UpgradeMetaData md = handler.getUpgradeMetaData();
+        URL url = new File(path).toURI().toURL();
+        Resource rootSource = new URLResource(url);
+        ProjectUpgrader upgrader = Injection.getInjector().getInstance(ProjectUpgrader.class);
+        UpgradeHandler handler = upgrader.getUpgradeHandler(rootSource);
+        UpgradeMetaData md = handler.getUpgradeMetaData();
 
         this.path = url.getPath();
 
@@ -119,9 +119,9 @@
     }
 
     // private Project openProjectResourse(Resource resource, CayenneModelerController controller)
-    private Project openProjectResourse(final Resource resource)
+    private Project openProjectResourse(Resource resource)
     {
-        final Project project = CayenneModeler.getInjector().getInstance(ProjectLoader.class).loadProject(resource);
+        Project project = Injection.getInjector().getInstance(ProjectLoader.class).loadProject(resource);
 
         // controller.projectOpenedAction(project);
 
@@ -138,7 +138,7 @@
         return root.getName();
     }
 
-    public void setDataDomainName(final String name)
+    public void setDataDomainName(String name)
     {
         root.setName(name);
     }
@@ -148,7 +148,7 @@
         return getDomainBooleanProperty(DataDomain.VALIDATING_OBJECTS_ON_COMMIT_PROPERTY, DataDomain.VALIDATING_OBJECTS_ON_COMMIT_DEFAULT);
     }
 
-    public void setDataDomainValidatingObjects(final boolean validatingObjects)
+    public void setDataDomainValidatingObjects(boolean validatingObjects)
     {
         setDomainBooleanProperty(DataDomain.VALIDATING_OBJECTS_ON_COMMIT_PROPERTY, validatingObjects, DataDomain.VALIDATING_OBJECTS_ON_COMMIT_DEFAULT);
     }
@@ -168,7 +168,7 @@
         return getDomainBooleanProperty(DataDomain.SHARED_CACHE_ENABLED_PROPERTY, DataDomain.SHARED_CACHE_ENABLED_DEFAULT);
     }
 
-    public void setUsingSharedCache(final boolean usingSharedCache)
+    public void setUsingSharedCache(boolean usingSharedCache)
     {
         setDomainBooleanProperty(DataDomain.SHARED_CACHE_ENABLED_PROPERTY, usingSharedCache, DataDomain.SHARED_CACHE_ENABLED_DEFAULT);
     }
@@ -178,7 +178,7 @@
         return getDomainBooleanProperty(DataRowStore.REMOTE_NOTIFICATION_PROPERTY, DataRowStore.REMOTE_NOTIFICATION_DEFAULT);
     }
 
-    public void setRemoteChangeNotificationsEnabled(final boolean remoteChangeNotificationsEnabled)
+    public void setRemoteChangeNotificationsEnabled(boolean remoteChangeNotificationsEnabled)
     {
         setDomainBooleanProperty(DataRowStore.REMOTE_NOTIFICATION_PROPERTY, remoteChangeNotificationsEnabled, DataRowStore.REMOTE_NOTIFICATION_DEFAULT);
     }
@@ -197,7 +197,7 @@
      * Helper method that updates domain properties. If a value equals to
      * default, null value is used instead.
      */
-    private void setDomainStringProperty(final String property, String value, final String defaultValue)
+    private void setDomainStringProperty(String property, String value, String defaultValue)
     {
         if (getDataDomain() == null)
             return;
@@ -210,9 +210,9 @@
         if (value != null && value.equals(defaultValue))
             value = null;
 
-        final Map<String, String> properties = getDataDomain().getProperties();
+        Map<String, String> properties = getDataDomain().getProperties();
 
-        final Object oldValue = properties.get(property);
+        Object oldValue = properties.get(property);
 
         if (!Util.nullSafeEquals(value, oldValue))
         {
@@ -223,26 +223,26 @@
         }
     }
 
-    private String getDomainProperty(final String property, final String defaultValue)
+    private String getDomainProperty(String property, String defaultValue)
     {
         if (getDataDomain() == null)
             return null;
 
-        final String value = getDataDomain().getProperties().get(property);
+        String value = getDataDomain().getProperties().get(property);
         return value != null ? value : defaultValue;
     }
 
-    private boolean getDomainBooleanProperty(final String property, final boolean defaultValue)
+    private boolean getDomainBooleanProperty(String property, boolean defaultValue)
     {
         return "true".equalsIgnoreCase(getDomainProperty(property, Boolean.toString(defaultValue)));
     }
 
-    private void setDomainBooleanProperty(final String property, final boolean value, final boolean defaultValue)
+    private void setDomainBooleanProperty(String property, boolean value, boolean defaultValue)
     {
         setDomainStringProperty(property, Boolean.toString(value), Boolean.toString(defaultValue));
     }
 
-    private int getDomainIntegerProperty(final String property, final int defaultValue)
+    private int getDomainIntegerProperty(String property, int defaultValue)
     {
         try
         {