diff --git a/panopoly_widgets.features.field.inc b/panopoly_widgets.features.field.inc
index 5de2425..ae10e34 100755
--- a/panopoly_widgets.features.field.inc
+++ b/panopoly_widgets.features.field.inc
@@ -106,12 +106,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'basic_file',
-      'default_value' => array(
-        0 => array(
-          'value' => 'Salsify napa cabbage azuki bean mung bean kakadu plum onion garbanzo horseradish lettuce jícama water chestnut gumbo turnip courgette winter purslane cress squash. ',
-          'format' => 'plain_text',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => '',
       'display' => array(
@@ -172,13 +167,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'image',
-      'default_value' => array(
-        0 => array(
-          'summary' => '',
-          'value' => 'Green bean beet greens water spinach bitterleaf dandelion summer purslane plantain. Brussels sprout dulse kohlrabi cabbage napa cabbage winter purslane garlic mustard water spinach tigernut pea asparagus jícama wakame ricebean.',
-          'format' => 'plain_text',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => '',
       'display' => array(
@@ -317,11 +306,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'map',
-      'default_value' => array(
-        0 => array(
-          'value' => '717 California Street, San Francisco, California 94108',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => 'The street address of the location you wish to map. This widget will contact Google and try to do its best to create a map!',
       'display' => array(
@@ -393,12 +378,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'map',
-      'default_value' => array(
-        0 => array(
-          'value' => 'Zucchini gumbo grape salad watercress sea lettuce rutabaga chard bell pepper beetroot chickweed peanut garlic.',
-          'format' => 'plain_text',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => '',
       'display' => array(
@@ -462,12 +442,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'quick_links',
-      'default_value' => array(
-        0 => array(
-          'title' => 'Kombu collard greens',
-          'url' => 'http://drupal.org',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => '',
       'display' => array(
@@ -544,14 +519,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'spotlight',
-      'default_value' => array(
-        0 => array(
-          'title' => 'Veggies sunt bona vobis!',
-          'link' => 'http://drupal.org',
-          'fid' => '',
-          'description' => 'Kakadu plum cucumber soko prairie turnip cress squash tatsoi nori aubergine asparagus endive dandelion beetroot lettuce broccoli water chestnut brussels sprout. ',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => '',
       'display' => array(
@@ -614,19 +582,19 @@ function panopoly_widgets_field_default_fields() {
       'default_value' => array(
         0 => array(
           'tablefield' => array(
-            'cell_0_0' => 'Vegetable One',
-            'cell_0_1' => 'Vegeteable Two',
-            'cell_1_0' => 'brussels sprouts',
-            'cell_1_1' => 'cucumber',
-            'cell_2_0' => 'spinach',
-            'cell_2_1' => 'carrots',
+            'cell_0_0' => '',
+            'cell_0_1' => '',
+            'cell_1_0' => '',
+            'cell_1_1' => '',
+            'cell_2_0' => '',
+            'cell_2_1' => '',
             'import' => array(
               'rebuild_field_basic_table_table_0' => 'Upload CSV',
               'tablefield_csv_field_basic_table_table_0' => '',
             ),
             'rebuild' => array(
-              'count_cols' => '2',
-              'count_rows' => '3',
+              'count_cols' => 2,
+              'count_rows' => 3,
               'rebuild' => 'Rebuild Table',
             ),
           ),
@@ -689,12 +657,7 @@ function panopoly_widgets_field_default_fields() {
     ),
     'field_instance' => array(
       'bundle' => 'text',
-      'default_value' => array(
-        0 => array(
-          'value' => 'Bok choy potato courgette beet greens squash scallion avocado fennel soko. Radish water chestnut tomato sweet pepper soybean quandong. Sweet pepper collard greens courgette black-eyed pea kohlrabi bunya nuts parsley kakadu plum tomatillo coriander dandelion caulie. Pea sprouts onion chickweed garbanzo plantain cress kakadu plum bamboo shoot celery dandelion. Carrot kohlrabi parsnip lotus root scallion chickpea welsh onion spring onion broccoli rabe broccoli horseradish fennel caulie desert raisin cucumber. ',
-          'format' => 'plain_text',
-        ),
-      ),
+      'default_value' => NULL,
       'deleted' => '0',
       'description' => '',
       'display' => array(
diff --git a/panopoly_widgets.module b/panopoly_widgets.module
index 195e3d5..6c290f7 100755
--- a/panopoly_widgets.module
+++ b/panopoly_widgets.module
@@ -20,12 +20,24 @@ function panopoly_widgets_configure_form($form, &$form_state) {
 
   $form['panopoly_widgets_spotlight_rotation_time'] = array(
     '#title' => t('Spotlight Rotation Time'),
-    '#type' => 'textfield',   
+    '#type' => 'textfield',
     '#required' => TRUE,
     '#default_value' => variable_get('panopoly_widgets_spotlight_rotation_time', 4),
     '#description' => t('How many seconds do you want between rotations of the spotlight widget?'),
   );
 
+  $form['panopoly_widgets_enable_default_content'] = array(
+    '#title' => t('Enable Default Content?'),
+    '#type' => 'select',
+    '#required' => TRUE,
+    '#options' => array(
+      '1' => t('Yes'),
+      '0' => t('No'),
+    ),
+    '#default_value' => variable_get('panopoly_widgets_enable_default_content', 1),
+    '#description' => t('Should we automatically populate panopoly widget fields with sample content?'),
+  );
+
   return system_settings_form($form);
 }
 
@@ -50,6 +62,114 @@ function panopoly_widgets_ctools_plugin_directory($module, $plugin) {
   return 'plugins/' . $plugin;
 }
 
+
+/**
+ * Implements hook_field_widget_form_alter().
+ *
+ * Create default values on fieldable_panels_pane fields when appropriate. 
+ */
+function panopoly_widgets_field_widget_form_alter(&$element, &$form_state, $context) {
+  // Determine if we should use demo content.
+  $use_default_content = variable_get('panopoly_widgets_enable_default_content', 1);
+  if (!empty($use_default_content) && empty($element['#default_value']) && $context['instance']['entity_type'] == 'fieldable_panels_pane') {
+
+    // Do a switch on field type and set #default_values. Also (conditionally) stuff $form_state values so previews work correctly.
+    switch($context['field']['type']) {
+      case 'text_long':
+        $element['#default_value'] = 'Bok choy potato courgette beet greens squash scallion avocado fennel soko. Radish water chestnut tomato sweet pepper soybean quandong. Sweet pepper collard greens courgette black-eyed pea kohlrabi bunya nuts parsley kakadu plum tomatillo coriander dandelion caulie. Pea sprouts onion chickweed garbanzo plantain cress kakadu plum bamboo shoot celery dandelion. Carrot kohlrabi parsnip lotus root scallion chickpea welsh onion spring onion broccoli rabe broccoli horseradish fennel caulie desert raisin cucumber.';
+        
+        if (array_key_exists('#format', $element)) {
+          $element['#format'] = 'plain_text';
+        }
+
+        if (empty($form_state['values'][$context['field']['field_name']][$context['langcode']][0]['value'])) {
+          $form_state['values'][$context['field']['field_name']][$context['langcode']][0]['value'] = $element['#default_value'];
+          $form_state['values'][$context['field']['field_name']][$context['langcode']][0]['format'] = $element['#format'];
+        }
+
+        break;
+      case 'text_with_summary':
+        $element['#default_value'] = 'Green bean beet greens water spinach bitterleaf dandelion summer purslane plantain. Brussels sprout dulse kohlrabi cabbage napa cabbage winter purslane garlic mustard water spinach tigernut pea asparagus jícama wakame ricebean.';
+
+        if (array_key_exists('#format', $element)) {
+          $element['#format'] = 'plain_text';
+        } 
+
+        if (empty($form_state['values'][$context['field']['field_name']][$context['langcode']][0]['value'])) {
+          $form_state['values'][$context['field']['field_name']][$context['langcode']][0]['value'] = $element['#default_value'];
+          $form_state['values'][$context['field']['field_name']][$context['langcode']][0]['format'] = $element['#format'];
+        } 
+
+        break;
+      case 'text':
+        // Do some special handling for map fields.
+        if ($context['field']['field_name'] == 'field_map_address') {
+          $element['value']['#default_value'] = '717 California Street, San Francisco, California 94108';
+
+          if (empty($form_state['values'][$context['field']['field_name']][$context['langcode']][0]['value'])) {
+            $form_state['values'][$context['field']['field_name']][$context['langcode']][0]['value'] = $element['value']['#default_value'];
+          }
+        }
+        break;
+      case 'tablefield':
+        $values = array(
+          'cell_0_0' => 'Vegetable One',
+          'cell_0_1' => 'Vegeteable Two',
+          'cell_1_0' => 'brussels sprouts',
+          'cell_1_1' => 'cucumber',
+          'cell_2_0' => 'spinach',
+          'cell_2_1' => 'carrots',
+        );
+
+        foreach($values as $key => $value) {
+          $element['tablefield'][$key]['#default_value'] = $value;
+        }
+
+        $values = array(
+          'import' => array(
+            'rebuild_field_basic_table_table_0' => 'Upload CSV',
+            'tablefield_csv_field_basic_table_table_0' => '',
+          ),
+          'rebuild' => array(
+            'count_cols' => '2',
+              'count_rows' => '3',
+              'rebuild' => 'Rebuild Table',
+          ),
+        );
+        if (empty($form_state['values'][$context['field']['field_name']][$context['langcode']][0]['tablefield'])) {
+          $form_state['values'][$context['field']['field_name']][$context['langcode']][0]['tablefield'] = $values;
+        }
+
+        break;
+      case 'panopoly_spotlight':
+        $element['title']['#default_value'] = 'Veggies sunt bona vobis!';
+        $element['link']['#default_value'] = 'http://drupal.org';
+        $element['description']['#default_value'] = 'Kakadu plum cucumber soko prairie turnip cress squash tatsoi nori aubergine asparagus endive dandelion beetroot lettuce broccoli water chestnut brussels sprout.';
+        
+        if (empty($form_state['values'][$context['field']['field_name']][$context['langcode']][0])) {
+          $form_state['values'][$context['field']['field_name']][$context['langcode']][0] = array(
+            'title' => $element['title']['#default_value'],
+            'link' => $element['link']['#default_value'],
+            'description' => $element['description']['#default_value'],
+          );
+        }
+        
+        break;
+      case 'link_field':
+        $element['#default_value'] = array(
+          'title' => 'Kombu collard greens',
+          'url' => 'http://drupal.org',
+        );
+
+        if (empty($form_state['values'][$context['field']['field_name']][$context['langcode']][0])) {
+           $form_state['values'][$context['field']['field_name']][$context['langcode']][0] = $element['#default_value'];
+        }
+        break;
+    }
+  }
+}
+
+
 /**
  * Implementation of hook_ctools_content_subtype_alter()
  */
@@ -174,48 +294,43 @@ function panopoly_widgets_form_alter(&$form, &$form_state, $form_id) {
     $form['field_basic_table_table'][LANGUAGE_NONE][0]['tablefield']['rebuild']['count_rows']['#title'] = '';
   }
 
-  // Make some form modifications in cases where the item is being shown for the first time
-  $clicked_button = empty($form_state['clicked_button']['#value']) ? '' : $form_state['clicked_button']['#value'];
-  if ($form_id == 'fieldable_panels_panes_fieldable_panels_pane_content_type_edit_form' && ($clicked_button == 'Update Preview' || ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id'])))) {
-
-    // Quick modification to get tablefield to render correctly with default values
-    if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_table_table'])) {
-      $form_state['values']['field_basic_table_table']['und'] = $form_state['field']['field_basic_table_table']['und']['instance']['default_value'];
-    }
-
-    // Quick exclusion of column and row counts from being autosubmited
-    if (!empty($form['field_basic_table_table'])) {
-      $form['field_basic_table_table'][LANGUAGE_NONE][0]['tablefield']['rebuild']['count_cols']['#attributes']['class'][] = 'ctools-auto-submit-exclude';
-      $form['field_basic_table_table'][LANGUAGE_NONE][0]['tablefield']['rebuild']['count_rows']['#attributes']['class'][] = 'ctools-auto-submit-exclude';
-    }
-
-    // Quick modification to get the spotlight to render correctly with preview content
-    if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_spotlight_items'])) {
-      $form_state['values']['field_basic_spotlight_items']['und'] = $form_state['field']['field_basic_spotlight_items']['und']['instance']['default_value'];
-      $form_state['values']['field_basic_spotlight_items']['und'][0]['fid'] = variable_get('panopoly_widgets_default_spotlight_fid', NULL);
-      $form['field_basic_spotlight_items']['und'][0]['fid']['#default_value'] = variable_get('panopoly_widgets_default_spotlight_fid', NULL);
+  if (variable_get('panopoly_widgets_enable_default_content', 1)) {
+    $clicked_button = empty($form_state['clicked_button']['#value']) ? '' : $form_state['clicked_button']['#value'];
+    if ($form_id == 'fieldable_panels_panes_fieldable_panels_pane_content_type_edit_form' && ($clicked_button == 'Update Preview' || ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id'])))) {
+
+      // Quick exclusion of column and row counts from being autosubmited
+      if (!empty($form['field_basic_table_table'])) {
+        $form['field_basic_table_table'][LANGUAGE_NONE][0]['tablefield']['rebuild']['count_cols']['#attributes']['class'][] = 'ctools-auto-submit-exclude';
+        $form['field_basic_table_table'][LANGUAGE_NONE][0]['tablefield']['rebuild']['count_rows']['#attributes']['class'][] = 'ctools-auto-submit-exclude';
+      }
+
+      // Quick modification to get the spotlight to render correctly with preview content
+      if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_spotlight_items'])) {
+        $form_state['values']['field_basic_spotlight_items']['und'][0]['fid'] = variable_get('panopoly_widgets_default_spotlight_fid', NULL);
+        $form['field_basic_spotlight_items']['und'][0]['fid']['#default_value'] = variable_get('panopoly_widgets_default_spotlight_fid', NULL);
+      }
+
+      // Quick modification to get the image to render correctly with preview content
+      if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_image_image'])) {
+        $form_state['values']['field_basic_image_image'][LANGUAGE_NONE][0]['fid'] = variable_get('panopoly_widgets_default_image_fid', NULL);
+        $form['field_basic_image_image'][LANGUAGE_NONE][0]['#default_value']['fid'] = variable_get('panopoly_widgets_default_image_fid', NULL);
+      }
+
+      // Quick modification to get the file to render correctly with preview content
+      if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_file_file'])) {
+        $form_state['values']['field_basic_file_file'][LANGUAGE_NONE][0]['fid'] = variable_get('panopoly_widgets_default_basic_file_fid', NULL);
+        $form_state['values']['field_basic_file_file'][LANGUAGE_NONE][0]['display'] = TRUE;
+        $form['field_basic_file_file'][LANGUAGE_NONE][0]['#default_value']['fid'] = variable_get('panopoly_widgets_default_basic_file_fid', NULL);
+        $form['field_basic_file_file'][LANGUAGE_NONE][0]['#default_value']['display'] = TRUE;
+      }
+
+      // Quick modification to get the video to render correctly with preview content
+      if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_video_file'])) {
+        $form_state['values']['field_video_file'][LANGUAGE_NONE][0]['fid'] = variable_get('panopoly_widgets_default_video_fid', NULL);
+        $form_state['values']['field_video_file'][LANGUAGE_NONE][0]['display'] = 1;
+        $form['field_video_file'][LANGUAGE_NONE][0]['#default_value']['fid'] = variable_get('panopoly_widgets_default_video_fid', NULL);
+      } 
     }
-
-    // Quick modification to get the image to render correctly with preview content
-    if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_image_image'])) {
-      $form_state['values']['field_basic_image_image'][LANGUAGE_NONE][0]['fid'] = variable_get('panopoly_widgets_default_image_fid', NULL);
-      $form['field_basic_image_image'][LANGUAGE_NONE][0]['#default_value']['fid'] = variable_get('panopoly_widgets_default_image_fid', NULL);
-    }
-
-    // Quick modification to get the file to render correctly with preview content
-    if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_basic_file_file'])) {
-      $form_state['values']['field_basic_file_file'][LANGUAGE_NONE][0]['fid'] = variable_get('panopoly_widgets_default_basic_file_fid', NULL);
-      $form_state['values']['field_basic_file_file'][LANGUAGE_NONE][0]['display'] = TRUE;
-      $form['field_basic_file_file'][LANGUAGE_NONE][0]['#default_value']['fid'] = variable_get('panopoly_widgets_default_basic_file_fid', NULL);
-      $form['field_basic_file_file'][LANGUAGE_NONE][0]['#default_value']['display'] = TRUE;
-    }
-
-    // Quick modification to get the video to render correctly with preview content
-    if ($form_state['op'] == 'add' && empty($form_state['input']['form_build_id']) && !empty($form_state['field']['field_video_file'])) {
-      $form_state['values']['field_video_file'][LANGUAGE_NONE][0]['fid'] = variable_get('panopoly_widgets_default_video_fid', NULL);
-      $form_state['values']['field_video_file'][LANGUAGE_NONE][0]['display'] = 1;
-      $form['field_video_file'][LANGUAGE_NONE][0]['#default_value']['fid'] = variable_get('panopoly_widgets_default_video_fid', NULL);
-    } 
   }
 }
 
