public function testExtendedBindings()
 {
     $container = new Container();
     $container['foo'] = 'foo';
     $container->extend('foo', function ($old, $container) {
         return $old . 'bar';
     });
     $this->assertEquals('foobar', $container->make('foo'));
     $container = new Container();
     $container['foo'] = $container->share(function () {
         return (object) array('name' => 'taylor');
     });
     $container->extend('foo', function ($old, $container) {
         $old->age = 26;
         return $old;
     });
     $result = $container->make('foo');
     $this->assertEquals('taylor', $result->name);
     $this->assertEquals(26, $result->age);
     $this->assertTrue($result === $container->make('foo'));
 }