diff --git a/drubuntu.drush.inc b/drubuntu.drush.inc
index 209237d..d048bfc 100644
--- a/drubuntu.drush.inc
+++ b/drubuntu.drush.inc
@@ -54,7 +54,7 @@ function drubuntu_drush_command() {
       '--sandbox-name' => 'Name of site to generate within each platform. Default is "sandbox".',
     ),
     'bootstrap' => DRUSH_BOOTSTRAP_DRUSH, // No bootstrap at all.
-    'engines' => drush_drubuntu_tasks(),
+    'engines' => array_keys(drush_drubuntu_tasks()),
   );
   $items['drubuntu-uninstall'] = $globals + array(
     'description' => "Unnstalls Drubuntu.",
diff --git a/engines.inc b/engines.inc
index 4203073..4d0261b 100644
--- a/engines.inc
+++ b/engines.inc
@@ -60,6 +60,48 @@ define('DRUSH_DRUBUNTU_DEVELOPMENT_MODULES_P1', 'devel,module_builder,cache_disa
 define('DRUSH_DRUBUNTU_DEVELOPMENT_MODULES_P2', 'cache_browser,reroute_email,firebug_lite,potx,simpletest,pqp,js_debug_helper,jsalter');
 define('DRUSH_DRUBUNTU_DEVELOPMENT_MODULES_P3', 'visualize_backtrace,security_scanner,devel_demo,simpletest_selenium');
 
+/**
+ * Implementation of hook_drush_engine_type_info().
+ */
+function drubuntu_drush_engine_type_info() {
+  return array(
+    'db' => array(
+      'description' => 'Database backend(s) options.',
+      'option' => 'db',
+      'options' => array(
+        'db-user' => 'Database user. Default is "root".',
+        'db-pass' => 'Database password. Default is no password.',
+        'db-host' => 'Database host. Default is "localhost".',
+        'db-port' => 'Database port. Default is "3306".',
+      ),
+    ),
+    'dns' => array(
+      'description' => 'DNS wildcard aliasing options.',
+      'option' => 'dns',
+    ),
+    'www' => array(
+      'description' => 'Web server options.',
+      'option' => 'www',
+    ),
+    'mail' => array(
+      'description' => 'Mail server local-only delivery options.',
+      'option' => 'mail',
+    ),
+    'php5' => array(
+      'description' => 'PHP installation options.',
+      'option' => 'php',
+    ),
+    'editor' => array(
+      'description' => 'Editor/IDE options.',
+      'option' => 'editor',
+    ),
+    'devtools' => array(
+      'description' => 'Development tool and utility options.',
+      'option' => 'devtools',
+    ),
+  );
+}
+
 function drush_drubuntu_tasks() {
   return array(
     'db' => 'Database backend(s) options.',
@@ -82,17 +124,9 @@ interface drubuntu_engine {
 function drubuntu_drush_engine_db() {
   return array(
     'mysql' => array(
+      'description' => 'MySQL (default database).',
       'options' => array(
-        '--db=mysql' => 'MySQL (default database).',
-      ),
-      'sub-options' => array(
-        '--db=mysql' => array(
-          '--mysql-packages' => 'List of packages to install with MySQL. Default is "' . DRUSH_DRUBUNTU_MYSQL_PACKAGES . '".',
-          '--db-user' => 'Database user. Default is "root".',
-          '--db-pass' => 'Database password. Default is no password.',
-          '--db-host' => 'Database host. Default is "localhost".',
-          '--db-port' => 'Database port. Default is "3306".',
-        ),
+        'mysql-packages' => 'List of packages to install with MySQL. Default is "' . DRUSH_DRUBUNTU_MYSQL_PACKAGES . '".',
       ),
     ),
   );
@@ -101,13 +135,9 @@ function drubuntu_drush_engine_db() {
 function drubuntu_drush_engine_dns() {
   return array(
     'dnsmasq' => array(
+      'description' => 'DNSMasq (default DNS masquerading).',
       'options' => array(
-        '--dns=dnsmasq' => 'DNSMasq (default DNS masquerading).',
-      ),
-      'sub-options' => array(
-        '--dns=dnsmasq' => array(
-          '--dnsmasq-packages' => 'List of packages to install with Dnsmasq. Default is "' . DRUSH_DRUBUNTU_DNSMASQ_PACKAGES . '".',
-        ),
+        'dnsmasq-packages' => 'List of packages to install with Dnsmasq. Default is "' . DRUSH_DRUBUNTU_DNSMASQ_PACKAGES . '".',
       ),
     ),
   );
@@ -116,14 +146,10 @@ function drubuntu_drush_engine_dns() {
 function drubuntu_drush_engine_www() {
   return array(
     'apache' => array(
+      'description' => 'Apache.',
       'options' => array(
-        '--www=apache' => 'Apache (default web server).',
-      ),
-      'sub-options' => array(
-        '--www=apache' => array(
-          '--apache-packages' => 'List of packages to install with Apache. Default is "' . DRUSH_DRUBUNTU_APACHE_PACKAGES . '".',
-          '--apache-modules' => 'List of Apache modules to enable. Default is "' . DRUSH_DRUBUNTU_APACHE_MODULES . '".',
-        ),
+        'apache-packages' => 'List of packages to install with Apache. Default is "' . DRUSH_DRUBUNTU_APACHE_PACKAGES . '".',
+        'apache-modules' => 'List of Apache modules to enable. Default is "' . DRUSH_DRUBUNTU_APACHE_MODULES . '".',
       ),
     ),
   );
@@ -132,13 +158,9 @@ function drubuntu_drush_engine_www() {
 function drubuntu_drush_engine_mail() {
   return array(
     'postfix' => array(
+      'description' => 'Postfix',
       'options' => array(
-        '--mail=postfix' => 'Postfix (default mail server).',
-      ),
-      'sub-options' => array(
-        '--mail=postfix' => array(
-          '--postfix-packages' => 'List of packages to install with Postfix. Default is "' . DRUSH_DRUBUNTU_POSTFIX_PACKAGES . '".',
-        ),
+        'postfix-packages' => 'List of packages to install with Postfix. Default is "' . DRUSH_DRUBUNTU_POSTFIX_PACKAGES . '".',
       ),
     ),
   );
@@ -147,24 +169,20 @@ function drubuntu_drush_engine_mail() {
 function drubuntu_drush_engine_php5() {
   return array(
     'packaged' => array(
+      'description' => 'Ubuntu packaged PHP5 (default PHP).',
       'options' => array(
-        '--php5=packaged' => 'Ubuntu packaged PHP5 (default PHP).',
-      ),
-      'sub-options' => array(
-        '--php5=packaged' => array(
-          '--php-packages' => 'PHP packages to install. Default is "' . DRUSH_DRUBUNTU_PHP5_PACKAGES . '".',
-          '--pecl-packages' => 'PECL packages to install. Default is "' . DRUSH_DRUBUNTU_PECL_PACKAGES . '".',
-          '--php-memory-limit' => 'PHP memory_limit value to set (in MB). Defaults to "128".',
-          '--php-php-upload-max-filesize' => 'PHP upload_max_filesize value to set (in MB). Defaults to "128".',
-          '--php-post-max-size' => 'PHP post_max_size value to set (in MB). Defaults to "256".',
-          '--php-error-reporting' => 'PHP error_reporting value to set. Defaults to "E_ALL".',
-          '--php-auto-prepend' => 'PHP auto_prepend_file value to set. This file can be used to (for example) set $conf values across all workspace sites. Default is the .drubuntu/drubuntu.settings.inc file within your workspace.',
-          '--php-xdebug-output-dir' => 'Directory to configure Xdebug to store traces etc. Defaults to xdebug directory inside your workspace.',
-          '--php-xdebug-profiler-enable-trigger' => 'Value to set xdebug.profiler_enable_trigger to. If enabled this allows you to initiate profiling by adding a XDEBUG_PROFILE querystring parameter. Defaults to "1" (enabled).',
-          '--php-xdebug-remote-enable' => 'Value to set xdebug.remote_enable to. If enabled this will allow debugging of pages loaded with your regular web browser. Defaults to "1" (enabled).',
-          '--php-xdebug-max-nesting-level' => 'Value to set xdebug.max_nesting_level to. Defaults to "500".',
-          '--php-apc-shm-size' => 'Size of APC shared memory allocation (in MB). Needs to be kept large enough to avoid fragmentation. Defaults to "128".',
-        ),
+        'php-packages' => 'PHP packages to install. Default is "' . DRUSH_DRUBUNTU_PHP5_PACKAGES . '".',
+        'pecl-packages' => 'PECL packages to install. Default is "' . DRUSH_DRUBUNTU_PECL_PACKAGES . '".',
+        'php-memory-limit' => 'PHP memory_limit value to set (in MB). Defaults to "128".',
+        'php-php-upload-max-filesize' => 'PHP upload_max_filesize value to set (in MB). Defaults to "128".',
+        'php-post-max-size' => 'PHP post_max_size value to set (in MB). Defaults to "256".',
+        'php-error-reporting' => 'PHP error_reporting value to set. Defaults to "E_ALL".',
+        'php-auto-prepend' => 'PHP auto_prepend_file value to set. This file can be used to (for example) set $conf values across all workspace sites. Default is the .drubuntu/drubuntu.settings.inc file within your workspace.',
+        'php-xdebug-output-dir' => 'Directory to configure Xdebug to store traces etc. Defaults to xdebug directory inside your workspace.',
+        'php-xdebug-profiler-enable-trigger' => 'Value to set xdebug.profiler_enable_trigger to. If enabled this allows you to initiate profiling by adding a XDEBUG_PROFILE querystring parameter. Defaults to "1" (enabled).',
+        'php-xdebug-remote-enable' => 'Value to set xdebug.remote_enable to. If enabled this will allow debugging of pages loaded with your regular web browser. Defaults to "1" (enabled).',
+        'php-xdebug-max-nesting-level' => 'Value to set xdebug.max_nesting_level to. Defaults to "500".',
+        'php-apc-shm-size' => 'Size of APC shared memory allocation (in MB). Needs to be kept large enough to avoid fragmentation. Defaults to "128".',
       ),
     ),
   );
@@ -173,15 +191,11 @@ function drubuntu_drush_engine_php5() {
 function drubuntu_drush_engine_editor() {
   return array(
     'eclipse' => array(
+      'description' => 'Eclipse with PDT (default editor).',
       'options' => array(
-        '--editor=eclipse' => 'Eclipse with PDT (default editor).',
-      ),
-      'sub-options' => array(
-        '--editor=eclipse' => array(
-          '--eclipse-packages' => 'Eclipse packages to install. Default is ".' . DRUSH_DRUBUNTU_ECLIPSE_PACKAGES . '".',
-          '--eclipse-xms' => 'Eclipse initial heap size (in MB). Default is "128".',
-          '--eclipse-xmx' => 'Eclipse maximum heap size (in MB). Default is "512".',
-        ),
+        'eclipse-packages' => 'Eclipse packages to install. Default is ".' . DRUSH_DRUBUNTU_ECLIPSE_PACKAGES . '".',
+        'eclipse-xms' => 'Eclipse initial heap size (in MB). Default is "128".',
+        'eclipse-xmx' => 'Eclipse maximum heap size (in MB). Default is "512".',
       ),
     ),
   );
@@ -190,14 +204,10 @@ function drubuntu_drush_engine_editor() {
 function drubuntu_drush_engine_devtools() {
   return array(
     'general' => array(
+      'description' => 'A general set of utilities and browsers (default).',
       'options' => array(
-        '--devtools=general' => 'A general set of utilities and browsers (default).',
-      ),
-      'sub-options' => array(
-        '--devtools=general' => array(
-          '--webdev-general-packages' => 'General utility/browser packages to install. Default is "' . DRUSH_DRUBUNTU_WEBDEV_GENERAL_PACKAGES . '".',
-          '--firefox-addons' => 'Firefox addons to install. Format is comma separated IDs (check addons.mozilla.org URLs for ID numbers). Default is "' . DRUSH_DRUBUNTU_FIREFOX_ADDONS . '".',      
-        ),
+        'webdev-general-packages' => 'General utility/browser packages to install. Default is "' . DRUSH_DRUBUNTU_WEBDEV_GENERAL_PACKAGES . '".',
+        'firefox-addons' => 'Firefox addons to install. Format is comma separated IDs (check addons.mozilla.org URLs for ID numbers). Default is "' . DRUSH_DRUBUNTU_FIREFOX_ADDONS . '".',      
       ),
     ),
   );
