diff --git a/lib/Pimple.php b/lib/Pimple.php
index <HASH>..<HASH> 100644
--- a/lib/Pimple.php
+++ b/lib/Pimple.php
@@ -104,4 +104,21 @@ class Pimple implements ArrayAccess
             return $object;
         };
     }
+
+    /**
+     * Protects a callable from being interpreted as a service.
+     *
+     * This is useful when you want to store a callable as a parameter.
+     *
+     * @param Closure $callable A closure to protect from being evaluated
+     *
+     * @return Closure The protected closure
+     */
+    function protect($callable)
+    {
+        return function ($c) use ($callable)
+        {
+            return $callable;
+        };
+    }
 }
diff --git a/tests/Pimple/Tests/PimpleTest.php b/tests/Pimple/Tests/PimpleTest.php
index <HASH>..<HASH> 100644
--- a/tests/Pimple/Tests/PimpleTest.php
+++ b/tests/Pimple/Tests/PimpleTest.php
@@ -125,4 +125,13 @@ class PimpleTest extends \PHPUnit_Framework_TestCase
 
         $this->assertSame($serviceOne, $serviceTwo);
     }
+
+    public function testProtect()
+    {
+        $pimple = new Pimple();
+        $callback = function () { return 'foo'; };
+        $pimple['protected'] = $pimple->protect($callback);
+
+        $this->assertSame($callback, $pimple['protected']);
+    }
 }
added a protect() method to be able to have an anonymous function as a parameter