Added Session driver with native PHP sessions and original-flavor CI cookie sessions
diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php
index 9881c1e..e958fc6 100644
--- a/system/libraries/Driver.php
+++ b/system/libraries/Driver.php
@@ -30,11 +30,32 @@
 class CI_Driver_Library {
 
 	protected $valid_drivers	= array();
-	protected static $lib_name;
+	protected $lib_name;
 
-	// The first time a child is used it won't exist, so we instantiate it
-	// subsequents calls will go straight to the proper child.
-	function __get($child)
+    /**
+     * Get magic method
+     *
+	 * The first time a child is used it won't exist, so we instantiate it
+	 * subsequents calls will go straight to the proper child.
+     *
+     * @param   string  Child class name
+     * @return  object  Child class
+     */
+	public function __get($child)
+	{
+        // Try to load the driver
+		return load_driver($child);
+    }
+
+    /**
+     * Load driver
+     *
+	 * Separate load_driver call to support explicit driver load by library or user
+     *
+     * @param   string  Child class name
+     * @return  object  Child class
+     */
+	public function load_driver($child)
 	{
 		if ( ! isset($this->lib_name))
 		{
@@ -64,7 +85,7 @@
 						if (file_exists($filepath))
 						{
 							include_once $filepath;
-							break;
+							break 2;
 						}
 					}
 				}
@@ -84,12 +105,9 @@
 		}
 
 		// The requested driver isn't valid!
-		log_message('error', "Invalid driver requested: ".$child_class);
-		show_error("Invalid driver requested: ".$child_class);
+		log_message('error', 'Invalid driver requested: '.$child_class);
+		show_error('Invalid driver requested: '.$child_class);
 	}
-
-	// --------------------------------------------------------------------
-
 }
 // END CI_Driver_Library CLASS
 
@@ -226,4 +244,4 @@
 // END CI_Driver CLASS
 
 /* End of file Driver.php */
-/* Location: ./system/libraries/Driver.php */
\ No newline at end of file
+/* Location: ./system/libraries/Driver.php */