diff --git a/composer.lock b/composer.lock
index 3607544b662b60e8219f8427f8a48dbffbe464c9..8356f20cc93ba1453e260ed4726c4466f4fd6c33 100644
--- a/composer.lock
+++ b/composer.lock
@@ -272,12 +272,12 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/mnapoli/PHP-DI.git",
-                "reference": "ee5145095555c4532220eab991bf7782e9a645c6"
+                "reference": "92e2f01c7f2076649235aa50f415dda11b87e6da"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/mnapoli/PHP-DI/zipball/ee5145095555c4532220eab991bf7782e9a645c6",
-                "reference": "ee5145095555c4532220eab991bf7782e9a645c6",
+                "url": "https://api.github.com/repos/mnapoli/PHP-DI/zipball/92e2f01c7f2076649235aa50f415dda11b87e6da",
+                "reference": "92e2f01c7f2076649235aa50f415dda11b87e6da",
                 "shasum": ""
             },
             "require": {
@@ -289,9 +289,9 @@
                 "php": ">=5.3.3"
             },
             "require-dev": {
-                "mnapoli/phpunit-easymock": "~0.1.1",
+                "mnapoli/phpunit-easymock": "~0.1.4",
                 "ocramius/proxy-manager": "~0.5",
-                "phpunit/phpunit": "~4.4"
+                "phpunit/phpunit": "~4.5"
             },
             "suggest": {
                 "ocramius/proxy-manager": "Install it if you want to use lazy injection (version ~0.5)"
@@ -321,7 +321,7 @@
                 "dependency injection",
                 "di"
             ],
-            "time": "2015-01-29 03:02:32"
+            "time": "2015-04-12 06:13:26"
         },
         {
             "name": "mnapoli/phpdocreader",
diff --git a/config/environment/cli.php b/config/environment/cli.php
index 2852c010074e61599e95827576d814a53cae5ef9..0db3009ad4a3bb580511c1554f82d9117016d305 100644
--- a/config/environment/cli.php
+++ b/config/environment/cli.php
@@ -10,7 +10,7 @@ return array(
 
     // Log
     'log.handlers' => array(
-        DI\link('Symfony\Bridge\Monolog\Handler\ConsoleHandler'),
+        DI\get('Symfony\Bridge\Monolog\Handler\ConsoleHandler'),
     ),
     'Symfony\Bridge\Monolog\Handler\ConsoleHandler' => function (ContainerInterface $c) {
         // Override the default verbosity map to make it more verbose by default
diff --git a/config/environment/dev.php b/config/environment/dev.php
index 0a730d708c826d6ae9a422d5538f287d04194dbf..a8bedecca99b17065fd9340afeaa9ae257af538e 100644
--- a/config/environment/dev.php
+++ b/config/environment/dev.php
@@ -5,8 +5,8 @@ return array(
     'Piwik\Cache\Backend' => DI\object('Piwik\Cache\Backend\ArrayCache'),
 
     'Piwik\Translation\Loader\LoaderInterface' => DI\object('Piwik\Translation\Loader\LoaderCache')
-        ->constructor(DI\link('Piwik\Translation\Loader\DevelopmentLoader')),
+        ->constructor(DI\get('Piwik\Translation\Loader\DevelopmentLoader')),
     'Piwik\Translation\Loader\DevelopmentLoader' => DI\object()
-        ->constructor(DI\link('Piwik\Translation\Loader\JsonFileLoader')),
+        ->constructor(DI\get('Piwik\Translation\Loader\JsonFileLoader')),
 
 );
diff --git a/config/global.php b/config/global.php
index aff73fcdba00409d733a1a115c5c5020e1f536b7..a803e1af7020fbdc34c01d5cb6a5992ff7caa3bc 100644
--- a/config/global.php
+++ b/config/global.php
@@ -53,6 +53,6 @@ return array(
     'Psr\Log\LoggerInterface' => DI\object('Psr\Log\NullLogger'),
 
     'Piwik\Translation\Loader\LoaderInterface' => DI\object('Piwik\Translation\Loader\LoaderCache')
-        ->constructor(DI\link('Piwik\Translation\Loader\JsonFileLoader')),
+        ->constructor(DI\get('Piwik\Translation\Loader\JsonFileLoader')),
 
 );
diff --git a/core/Container/IniConfigDefinitionSource.php b/core/Container/IniConfigDefinitionSource.php
index 9f5b32c2266c791339671fe05e60fcbaea3582c4..a6bc9759ac8e2db9cc55130d7d8e45d5a0583976 100644
--- a/core/Container/IniConfigDefinitionSource.php
+++ b/core/Container/IniConfigDefinitionSource.php
@@ -9,14 +9,18 @@
 namespace Piwik\Container;
 
 use DI\Definition\Exception\DefinitionException;
-use DI\Definition\Source\ChainableDefinitionSource;
+use DI\Definition\Source\DefinitionSource;
 use DI\Definition\ValueDefinition;
 use Piwik\Config;
 
 /**
- * Import the old INI config into PHP-DI.
+ * Expose the INI config into PHP-DI.
+ *
+ * The INI config can be used by prefixing `ini.` before the setting we want to get:
+ *
+ *     $maintenanceMode = $container->get('ini.General.maintenance_mode');
  */
-class IniConfigDefinitionSource extends ChainableDefinitionSource
+class IniConfigDefinitionSource implements DefinitionSource
 {
     /**
      * @var Config
@@ -38,7 +42,10 @@ class IniConfigDefinitionSource extends ChainableDefinitionSource
         $this->prefix = $prefix;
     }
 
-    protected function findDefinition($name)
+    /**
+     * {@inheritdoc}
+     */
+    public function getDefinition($name)
     {
         if (strpos($name, $this->prefix) !== 0) {
             return null;
diff --git a/plugins/CoreUpdater/config/config.php b/plugins/CoreUpdater/config/config.php
index 419e43cc7befa12bfe265e17767609b75923b778..0a69ab1b9dd737d9deced49d78e7e1f17a2122a6 100644
--- a/plugins/CoreUpdater/config/config.php
+++ b/plugins/CoreUpdater/config/config.php
@@ -2,5 +2,5 @@
 
 return array(
     'Piwik\Plugins\CoreUpdater\Updater' => DI\object()
-        ->constructorParameter('tmpPath', DI\link('path.tmp')),
+        ->constructorParameter('tmpPath', DI\get('path.tmp')),
 );
diff --git a/plugins/Monolog/config/config.php b/plugins/Monolog/config/config.php
index 7005573ced9ee32fa39cacf0427bd99df967406b..3fd3fcf63a75067280d2abdfaaba8caee9f9e19b 100644
--- a/plugins/Monolog/config/config.php
+++ b/plugins/Monolog/config/config.php
@@ -7,7 +7,7 @@ use Piwik\Log;
 return array(
 
     'Psr\Log\LoggerInterface' => DI\object('Monolog\Logger')
-        ->constructor('piwik', DI\link('log.handlers'), DI\link('log.processors')),
+        ->constructor('piwik', DI\get('log.handlers'), DI\get('log.processors')),
 
     'log.handlers' => DI\factory(function (ContainerInterface $c) {
         if ($c->has('ini.log.log_writers')) {
@@ -31,25 +31,25 @@ return array(
     }),
 
     'log.processors' => array(
-        DI\link('Piwik\Plugins\Monolog\Processor\SprintfProcessor'),
-        DI\link('Piwik\Plugins\Monolog\Processor\ClassNameProcessor'),
-        DI\link('Piwik\Plugins\Monolog\Processor\RequestIdProcessor'),
-        DI\link('Piwik\Plugins\Monolog\Processor\ExceptionToTextProcessor'),
-        DI\link('Monolog\Processor\PsrLogMessageProcessor'),
-        DI\link('Piwik\Plugins\Monolog\Processor\TokenProcessor'),
+        DI\get('Piwik\Plugins\Monolog\Processor\SprintfProcessor'),
+        DI\get('Piwik\Plugins\Monolog\Processor\ClassNameProcessor'),
+        DI\get('Piwik\Plugins\Monolog\Processor\RequestIdProcessor'),
+        DI\get('Piwik\Plugins\Monolog\Processor\ExceptionToTextProcessor'),
+        DI\get('Monolog\Processor\PsrLogMessageProcessor'),
+        DI\get('Piwik\Plugins\Monolog\Processor\TokenProcessor'),
     ),
 
     'Piwik\Plugins\Monolog\Handler\FileHandler' => DI\object()
-        ->constructor(DI\link('log.file.filename'), DI\link('log.level'))
-        ->method('setFormatter', DI\link('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')),
+        ->constructor(DI\get('log.file.filename'), DI\get('log.level'))
+        ->method('setFormatter', DI\get('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')),
 
     'Piwik\Plugins\Monolog\Handler\DatabaseHandler' => DI\object()
-        ->constructor(DI\link('log.level'))
-        ->method('setFormatter', DI\link('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')),
+        ->constructor(DI\get('log.level'))
+        ->method('setFormatter', DI\get('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')),
 
     'Piwik\Plugins\Monolog\Handler\WebNotificationHandler' => DI\object()
-        ->constructor(DI\link('log.level'))
-        ->method('setFormatter', DI\link('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')),
+        ->constructor(DI\get('log.level'))
+        ->method('setFormatter', DI\get('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')),
 
     'log.level' => DI\factory(function (ContainerInterface $c) {
         if ($c->has('ini.log.log_level')) {
@@ -88,7 +88,7 @@ return array(
     }),
 
     'Piwik\Plugins\Monolog\Formatter\LineMessageFormatter' => DI\object()
-        ->constructor(DI\link('log.format')),
+        ->constructor(DI\get('log.format')),
 
     'log.format' => DI\factory(function (ContainerInterface $c) {
         if ($c->has('ini.log.string_message_format')) {
diff --git a/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php b/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php
index e104df9a475cda1426b3dd33769777e4bc3c9489..264ef55ed7c82f03469183006ba64fe8fca9a95e 100644
--- a/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php
+++ b/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php
@@ -14,18 +14,6 @@ use Piwik\Container\IniConfigDefinitionSource;
 
 class IniConfigDefinitionSourceTest extends \PHPUnit_Framework_TestCase
 {
-    /**
-     * @test
-     */
-    public function getDefinition_withMergeableDefinition_shouldReturnNull()
-    {
-        $definition = $this->getMockForAbstractClass('DI\Definition\MergeableDefinition');
-
-        $definitionSource = new IniConfigDefinitionSource($this->createConfig());
-
-        $this->assertNull($definitionSource->getDefinition('foo', $definition));
-    }
-
     /**
      * @test
      */