diff --git a/lib/application.js b/lib/application.js
index <HASH>..<HASH> 100644
--- a/lib/application.js
+++ b/lib/application.js
@@ -44,9 +44,9 @@ framework.extend(Application.prototype, new function() {
     upload: 'incoming/'
   }
   
-  // Contains the various registered application storages for caching
-  this.storage = {
-    cache: null,
+  // Used to group the available application storages
+  this.cache = {
+    default: null,
     driver:  null,
     response: null,
     session: null
@@ -1141,6 +1141,30 @@ framework.extend(Application.prototype, new function() {
         .replace(/\/(_)?/g,'_').replace(/^__/, '');
     this.views.partials[id] = func;
   }
+  
+  /**
+    Returns a new driver instance
+    
+    @param {string} driver
+    @param {object} config
+    @public
+   */
+  
+  this.driver = function(driver, config) {
+    return new framework.drivers[driver](this, config || {});
+  } 
+
+  /**
+    Returns a new storage instance
+    
+    @param {string} driver
+    @param {object} config
+    @public
+   */
+  
+  this.storage = function(storage, config) {
+    return new framework.storage[storage](this, config || {});
+  }
 
   /**
     Gets the static directories available in the application's public
Added Application::(driver|storage)