diff --git a/fullcalendar_colors/css/fullcalendar_colors.admin.css b/fullcalendar_colors/css/fullcalendar_colors.admin.css
deleted file mode 100644
index f81bc64..0000000
--- a/fullcalendar_colors/css/fullcalendar_colors.admin.css
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @file
- * Styles for FullCalendar Colors admin page.
- */
-
-.fieldset-wrapper {
-  overflow: auto;
-}
-
-.fieldset-wrapper .form-item {
-  display: block;
-  float: left;
-  width: 33%;
-}
-
-.fieldset-wrapper .form-type-checkbox {
-  width: 100%;
-}
diff --git a/fullcalendar_colors/fullcalendar_colors.api.php b/fullcalendar_colors/fullcalendar_colors.api.php
deleted file mode 100644
index 0812db2..0000000
--- a/fullcalendar_colors/fullcalendar_colors.api.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/**
- * @file
- * Hooks provided by the FullCalendar Colors module.
- */
-
-/**
- * @addtogroup hooks
- * @{
- */
-
-/**
- * Fetches the needed CSS classes for coloring the FullCalendar.
- *
- * These classes will NOT be added to the FullCalendar and are ONLY usefull if
- * there is an existing class you want to color (can be useful for coloring
- * gcal calendars).
- *
- * If you want to add classes AND color at the same time you should use
- * hook_fullcalendar_classes().
- *
- * @param object $entity
- *   Object representing the entity.
- *
- * @return array
- *   Array of classes that will be processed by FullCalendar for each entity.
- */
-function hook_fullcalendar_colors_css_classes($entity) {
-  $class_names = array();
-  $class_names[] = 'my_awesome_class_name';
-  $class_names[] = 'another_awesome_class_name';
-  return $class_names;
-}
-
-/**
- * @} End of "addtogroup hooks".
- */
diff --git a/fullcalendar_colors/fullcalendar_colors.info b/fullcalendar_colors/fullcalendar_colors.info
index 2a5c382..839537d 100644
--- a/fullcalendar_colors/fullcalendar_colors.info
+++ b/fullcalendar_colors/fullcalendar_colors.info
@@ -2,6 +2,5 @@ name = FullCalendar Colors
 description = Allows definition of colors for FullCalendar events based on taxonomies, node types, etc.
 core = 7.x
 package = FullCalendar
-configure = admin/config/user-interface/fullcalendar/colors
 dependencies[] = colors
 dependencies[] = fullcalendar
diff --git a/fullcalendar_colors/fullcalendar_colors.install b/fullcalendar_colors/fullcalendar_colors.install
index d08f2fe..7480734 100644
--- a/fullcalendar_colors/fullcalendar_colors.install
+++ b/fullcalendar_colors/fullcalendar_colors.install
@@ -6,44 +6,26 @@
  */
 
 /**
- * Implements hook_install().
- */
-function fullcalendar_colors_install() {
-  $color_options = array(
-    'background' => '#3366cc',
-    'border' => '#3366cc',
-    'text' => '#ffffff',
-  );
-  colors_set_colors('fullcalendar_colors_default', $color_options, 'fullcalendar_colors');
-}
-
-/**
- * Implements hook_uninstall().
- */
-function fullcalendar_colors_uninstall() {
-  colors_delete_selectors('fullcalendar_colors');
-
-  db_delete('variable')
-    ->condition('name', db_like('fullcalendar_colors_') . '%', 'LIKE')
-    ->execute();
-  cache_clear_all('variables', 'cache_bootstrap');
-}
-
-/**
  * Implements hook_requirements().
  */
 function fullcalendar_colors_requirements($phase) {
   $requirements = array();
 
-  if ($phase == 'update') {
+  if ($phase == 'runtime') {
     $t = get_t();
-
-    if (!module_exists('colors')) {
-      $requirements['fullcalendar_colors'] = array(
-        'title' => $t('FullCalendar colors dependencies'),
-        'value' => $t('Missing dependency'),
+    if (!function_exists('colors_include_api')) {
+      $requirements['fullcalendar_colors_api'] = array(
+        'title' => $t('FullCalendar Colors API'),
+        'value' => $t('Out of date'),
         'severity' => REQUIREMENT_ERROR,
-        'description' => $t('From now on FullCalendar colors requires the !colors', array('!colors' => l(t('Colors module'), 'http://drupal.org/project/colors'))),
+        'description' => $t('You need to download the latest version of the !colors_module.', array('!colors_module' => l(t('Colors API module'), 'http://drupal.org/project/colors'))),
+      );
+    }
+    else {
+      $requirements['fullcalendar_colors_api'] = array(
+        'title' => $t('FullCalendar Colors API'),
+        'severity' => REQUIREMENT_OK,
+        'value' => $t('Up to date'),
       );
     }
   }
@@ -52,31 +34,45 @@ function fullcalendar_colors_requirements($phase) {
 }
 
 /**
- * Move the colors in the variable table to the colors table.
+ * Upgrade FullCalendar Colors alpha6 to beta1 FullCalendar Colors API.
  */
 function fullcalendar_colors_update_7200(&$sandbox) {
+  if (!function_exists('colors_include_api')) {
+    $t = get_t();
+    throw new DrupalUpdateException($t('You need to download the latest version of the !colors_module.', array('!colors_module' => l(t('Colors API module'), 'http://drupal.org/project/colors'))));
+  }
+
   // Changed variable names.
   variable_set('fullcalendar_colors_node_types_enabled', variable_get('fullcalendar_color_node_types_enabled', 0));
   variable_del('fullcalendar_color_node_types_enabled');
 
-  $taxonomies = taxonomy_get_vocabularies();
-  foreach ($taxonomies as $vid => $vocab) {
-    variable_set('fullcalendar_colors_taxo_' . $vid . '_enabled', variable_get('fullcalendar_color_taxo_' . $vid . '_enabled', 0));
-    variable_del('fullcalendar_color_taxo_' . $vid . '_enabled');
+  if (module_exists('taxonomy')) {
+    $taxonomies = taxonomy_get_vocabularies();
+    foreach ($taxonomies as $vid => $vocab) {
+      variable_set('fullcalendar_colors_taxo_' . $vid . '_enabled', variable_get('fullcalendar_color_taxo_' . $vid . '_enabled', 0));
+      variable_del('fullcalendar_color_taxo_' . $vid . '_enabled');
+    }
   }
 
   variable_set('fullcalendar_colors_user_roles_enabled', variable_get('fullcalendar_color_user_roles_enabled', 0));
   variable_del('fullcalendar_color_user_roles_enabled');
 
   // Move the node type, taxonomy terms and user roles colors.
-  $items = db_select('variable', 'v')
-    ->fields('v', array('name'))
-    ->condition('name', db_like('fullcalendar_color_') . '%', 'LIKE')
-    ->execute()
-    ->fetchAllAssoc('name', PDO::FETCH_ASSOC);
-
-  foreach ($items as $item) {
-    fullcalendar_colors_set_color(preg_replace('/_color_/', '_colors_', $item['name']), variable_get($item['name']));
+  $items = array_map('unserialize',
+    db_select('variable', 'v')
+      ->fields('v', array('name', 'value'))
+      ->condition('name', db_like('fullcalendar_color_') . '%', 'LIKE')
+      ->execute()
+      ->fetchAllKeyed()
+  );
+
+  foreach ($items as $key => $item) {
+    $colors = array(
+      'background' => $item,
+      'border' => $item,
+      'text' => '#ffffff',
+    );
+    colors_set_colors(preg_replace('/_color_/', '_colors_', $key), $colors, 'fullcalendar_colors');
     variable_del($item['name']);
   }
 
@@ -88,3 +84,95 @@ function fullcalendar_colors_update_7200(&$sandbox) {
   );
   colors_set_colors('fullcalendar_colors_default', $color_options, 'fullcalendar_colors');
 }
+
+/**
+ * Upgrade FullCalendar Colors beta1 to new Colors API.
+ */
+function fullcalendar_colors_update_7201(&$sandbox) {
+  if (!function_exists('colors_include_api')) {
+    $t = get_t();
+    throw new DrupalUpdateException($t('You need to download the latest version of the Colors API module: !colors_module.', array('!colors_module' => 'http://drupal.org/project/colors')));
+  }
+
+  // Get all default and module specific colors and update them.
+  foreach (colors_get_module_colors('fullcalendar_colors') as $name => $color) {
+    $key = substr($name, 20);
+    if ($key == 'default') {
+      $prefix = '';
+      $module = 'colors';
+      $suffix = '_default';
+    }
+    else {
+      $prefix = 'colors_';
+      $position = strrpos($key, '_');
+      $module = substr($key, 0, $position);
+      $suffix = substr($key, $position);
+      if ($module == 'taxo_term') {
+        $module = 'taxonomy_term';
+      }
+    }
+    $selector = $prefix . $module . $suffix;
+    colors_set_colors($selector, $color, $module);
+  }
+
+  // Delete the old values.
+  colors_delete_selectors('fullcalendar_colors');
+
+  // Retrieve and unserialize the variables.
+  $items = array_map('unserialize',
+    db_select('variable', 'v')
+      ->fields('v', array('name', 'value'))
+      ->condition('name', db_like('fullcalendar_colors_') . '%', 'LIKE')
+      ->execute()
+      ->fetchAllKeyed()
+  );
+
+  // Map old variable names to new ones.
+  $map = array(
+    'node' => 'node_type',
+    'node_types' => 'node_type',
+    'taxo' => 'taxonomy_term',
+    'taxonomy' => 'taxonomy_term',
+    'user' => 'user_role',
+    'user_roles' => 'user_role',
+    'process_order' => 'process_order',
+  );
+
+  // There are two sets of variables, enabled and weight.
+  $taxonomy = FALSE;
+  foreach ($items as $item => $value) {
+    $key = substr($item, 20);
+    // Weight variables.
+    if (strpos($key, 'weight_') === 0) {
+      $prefix = 'weight_';
+      $suffix = '';
+      $key = substr($key, 7);
+    }
+    // Enabled variables.
+    elseif (($position = strrpos($key, '_enabled')) && $position !== FALSE) {
+      $prefix = '';
+      $suffix = '_enabled';
+      $key = substr($key, 0, $position);
+      $position = strrpos($key, '_');
+      // Taxonomy is enabled per vocabulary.
+      if (substr($key, 0, $position) == 'taxo') {
+        $taxonomy = TRUE;
+        $suffix = substr($key, $position) . $suffix;
+        $key = substr($key, 0, $position);
+      }
+    }
+
+    // If this isn't in our map, skip it.
+    if (!isset($map[$key])) {
+      continue;
+    }
+
+    variable_del($item);
+    variable_set('colors_' . $prefix . $map[$key] . $suffix, $value);
+  }
+
+  // Set a master variable if any vocabulary is enabled.
+  if ($taxonomy) {
+    variable_set('colors_taxonomy_term_enabled', TRUE);
+  }
+}
diff --git a/fullcalendar_colors/fullcalendar_colors.module b/fullcalendar_colors/fullcalendar_colors.module
index e106d38..8ec7fb1 100644
--- a/fullcalendar_colors/fullcalendar_colors.module
+++ b/fullcalendar_colors/fullcalendar_colors.module
@@ -6,278 +6,48 @@
  */
 
 /**
- * Implements hook_menu().
- */
-function fullcalendar_colors_menu() {
-  $items = array();
-
-  $base = array(
-    'file' => 'fullcalendar_colors.admin.inc',
-    'file path' => drupal_get_path('module', 'fullcalendar_colors') . '/includes',
-    'page callback' => 'drupal_get_form',
-    'access arguments' => array('administer site configuration'),
-  );
-
-  $items['admin/config/user-interface/fullcalendar/colors'] = array(
-    'title' => 'Colors',
-    'description' => 'Adjust FullCalendar color settings for entities.',
-    'page arguments' => array('fullcalendar_colors_admin_node_type_settings'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => 1,
-  ) + $base;
-
-  $items['admin/config/user-interface/fullcalendar/colors/node'] = array(
-    'title' => 'Node type',
-    'page arguments' => array('fullcalendar_colors_admin_node_type_settings'),
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'weight' => -10,
-  ) + $base;
-
-  if (module_exists('taxonomy')) {
-    $items['admin/config/user-interface/fullcalendar/colors/taxonomy'] = array(
-      'title' => 'Taxonomy',
-      'page arguments' => array('fullcalendar_colors_admin_taxonomy_settings'),
-      'type' => MENU_LOCAL_TASK,
-      'weight' => -8,
-    ) + $base;
-  }
-
-  $items['admin/config/user-interface/fullcalendar/colors/user'] = array(
-    'title' => 'User role',
-    'page arguments' => array('fullcalendar_colors_admin_user_role_settings'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => -6,
-  ) + $base;
-
-  if (module_exists('og')) {
-    $items['admin/config/user-interface/fullcalendar/colors/og'] = array(
-      'title' => 'Organic groups',
-      'page arguments' => array('fullcalendar_colors_admin_og_settings'),
-      'type' => MENU_LOCAL_TASK,
-      'weight' => -2,
-    ) + $base;
-  }
-
-  $items['admin/config/user-interface/fullcalendar/colors/settings'] = array(
-    'title' => 'Settings',
-    'page arguments' => array('fullcalendar_colors_admin_settings'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => 20,
-  ) + $base;
-
-  return $items;
-}
-
-/**
- * Implements hook_help().
+ * Implements hook_preprocess_fullcalendar().
+ *
+ * Process FullCalendar Colors after the structure is built.
  */
-function fullcalendar_colors_help($path, $arg) {
-  switch ($path) {
-    case 'admin/help#fullcalendar_colors':
-      return '<p>' . t('You can configure colors for your fullcalendar events based on taxonomy terms, node types, etc. on the <a href="@link">FullCalendar Colors administration page</a>.', array('@link' => '/admin/config/user-interface/fullcalendar/colors')) . '</p>';
-      break;
+function fullcalendar_colors_preprocess_fullcalendar(&$variables) {
+  // @todo Remove in 7.x-2.1.
+  if (!function_exists('colors_include_api')) {
+    return;
   }
-}
-
-/**
- * Includes all FullCalendar Colors API plugins.
- */
-function fullcalendar_colors_include_api() {
-  ctools_include('plugins');
-  return ctools_plugin_api_include('fullcalendar_colors', 'fullcalendar_colors', fullcalendar_colors_api_version(), fullcalendar_colors_api_minimum_version());
-}
-
-/**
- * Implements hook_ctools_plugin_api_hook_name().
- */
-function fullcalendar_colors_ctools_plugin_api_hook_name() {
-  return 'fullcalendar_colors_api';
-}
-
-/**
- * Implements hook_fullcalendar_colors_api().
- */
-function fullcalendar_colors_fullcalendar_colors_api() {
-  return array(
-    'api' => fullcalendar_colors_api_version(),
-    'path' => drupal_get_path('module', 'fullcalendar_colors') . '/modules',
-  );
-}
 
-/**
- * Declares the current FullCalendar Colors API version.
- */
-function fullcalendar_colors_api_version() {
-  return '1';
+  $variables['element']['#attached']['css'][] = colors_create_css('fullcalendar_colors');
 }
 
 /**
- * Declares the minimum FullCalendar Colors API version.
+ * Implements hook_colors_rebuild().
  */
-function fullcalendar_colors_api_minimum_version() {
-  return '1';
-}
-
-/**
- * Generates css classes for coloring.
- */
-function fullcalendar_colors_generate_css($entity, $classes) {
-
-  // Give the colors module the oportunity to add even more classes, these
-  // classes will only be used to genereate CSS.
-  $hook = 'fullcalendar_colors_css_classes';
-  foreach (module_implements($hook) as $module) {
-    // Fetch all the class names.
-    $function = $module . '_' . $hook;
-    $class_names = $function($entity);
-    foreach ($class_names as $class_name) {
-      $classes[$module][$class_name] = $class_name;
-    }
-  }
-
-  // Filter out the $classes passed by FullCalendar that don't have color
-  // configuration in the database.
-  foreach ($classes as $module => $class_array) {
-    foreach ($class_array as $class) {
-      if (!colors_colors_exist($class)) {
-        unset($classes[$module][$class]);
-      }
-    }
-  }
-
-  // All the classes that are left are considered to be valid color selectors.
-  fullcalendar_colors_process_selectors($classes);
+function fullcalendar_colors_colors_rebuild() {
+  return TRUE;
 }
 
 /**
  * Implements hook_colors_build_selector().
  */
 function fullcalendar_colors_colors_build_selector($class) {
-  $selector = ' .' . $class . ',';
-  $selector .= ' .' . $class . ' .fc-event-skin,';
-  $selector .= ' .' . $class . ' .fc-event-time,';
-  $selector .= ' .' . $class . ' a';
-  return $selector;
-}
-
-/**
- * Processes selectors.
- *
- * @param array $selectors
- *   Selector that is being processed.
- * @param bool $reset
- *   Boolean to print the CSS and reset the array.
- */
-function fullcalendar_colors_process_selectors($selectors = array(), $reset = FALSE) {
-  $fullcalendar_selectors = &drupal_static(__FUNCTION__, array());
-  if ($reset) {
-    // Set the default selector first.
-    $unique_selectors = array('fullcalendar_colors_default');
-
-    // Rearrange the selector processing order.
-    fullcalendar_colors_rearrange_selectors($fullcalendar_selectors);
-
-    // Add the other selectors.
-    foreach ($fullcalendar_selectors as $class) {
-      foreach ($class as $class_name => $selector) {
-        if (is_array($selector)) {
-          $selector = array_unique($selector);
-          $selector = reset($selector);
-        }
-        $unique_selectors[] = $selector;
-      }
-    }
-
-    // Tell the colors module which selectors to color.
-    colors_insert_css_from_selectors($unique_selectors, 'fullcalendar_colors');
-    drupal_static_reset(__FUNCTION__);
-  }
-  else {
-    $fullcalendar_selectors = array_merge_recursive($selectors, $fullcalendar_selectors);
-  }
-}
-
-/**
- * Rearranges the selectors according to the weights.
- *
- * @param array $selectors
- *   The selectors that needs to be rearranged.
- */
-function fullcalendar_colors_rearrange_selectors(&$selectors) {
-  $modules = array();
-  if (variable_get('fullcalendar_colors_process_order_enabled', FALSE)) {
-    $hook = 'fullcalendar_classes';
-    foreach (module_implements($hook) as $module) {
-      $modules[$module] = variable_get('fullcalendar_colors_weight_' . $module, 0);
-    }
-
-    // Filter modules that didn't provide any CSS.
-    $modules = array_intersect_key($modules, $selectors);
-
-    // Sort the modules by weight.
-    asort($modules);
-  }
-
-  // Reorder the CSS processing.
-  $selectors = array_merge($modules, $selectors);
-}
-
-/**
- * Implements hook_theme().
- */
-function fullcalendar_colors_theme() {
-  return array(
-    'fullcalendar_colors_admin_settings' => array(
-      'render element' => 'form',
-      'file' => 'includes/fullcalendar_colors.admin.inc',
-    ),
+  $selector = array(
+    ".$class",
+    ".$class .fc-event-skin",
+    ".$class .fc-event-time",
+    ".$class a",
   );
-}
-
-if (!function_exists('user_fullcalendar_colors_api')) {
-  function user_fullcalendar_colors_api() {
-    return fullcalendar_colors_fullcalendar_colors_api();
-  }
-}
-
-if (!function_exists('node_fullcalendar_colors_api')) {
-  function node_fullcalendar_colors_api() {
-    return fullcalendar_colors_fullcalendar_colors_api();
-  }
-}
-
-if (!function_exists('taxonomy_fullcalendar_colors_api')) {
-  function taxonomy_fullcalendar_colors_api() {
-    return fullcalendar_colors_fullcalendar_colors_api();
-  }
-}
-
-if (!function_exists('og_fullcalendar_colors_api')) {
-  function og_fullcalendar_colors_api() {
-    return fullcalendar_colors_fullcalendar_colors_api();
-  }
+  return implode(', ', $selector);
 }
 
 /**
- * Inserts or updates a FullCalendar color configuration.
- *
- * @param array $classes
- *   CSS class you would like to insert or update.
- * @param string $background
- *   Background color used for the color configuration.
- * @param string $border
- *   Border color used for the color configuration.
- * @param string $text
- *   Text color used for the color configuration.
+ * Implements hook_fullcalendar_classes().
  */
-function fullcalendar_colors_set_color($classes, $background = '#000000', $border = '#000000', $text = '#ffffff') {
-  // @TODO Remove this hack once borders have their own UI.
-  $border = $background;
+function fullcalendar_colors_fullcalendar_classes($entity) {
+  // @todo Remove in 7.x-2.1.
+  if (!function_exists('colors_include_api')) {
+    return array();
+  }
 
-  $colors = array(
-    'background' => $background,
-    'border' => $border,
-    'text' => $text,
-  );
-  colors_set_colors($classes, $colors, 'fullcalendar_colors');
+  colors_include_api();
+  return module_invoke_all('colors_classes', $entity);
 }
diff --git a/fullcalendar_colors/includes/fullcalendar_colors.admin.inc b/fullcalendar_colors/includes/fullcalendar_colors.admin.inc
deleted file mode 100644
index 646a824..0000000
--- a/fullcalendar_colors/includes/fullcalendar_colors.admin.inc
+++ /dev/null
@@ -1,426 +0,0 @@
-<?php
-
-/**
- * @file
- * Color page callbacks for the FullCalendar colors module.
- */
-
-/**
- * Configuration form for coloring node types.
- */
-function fullcalendar_colors_admin_node_type_settings() {
-  // CSS for our custom form.
-  ctools_add_css('fullcalendar_colors.admin', 'fullcalendar_colors');
-  $form = colors_load_colorpicker();
-
-  $form['node_type_colors'] = array(
-    '#type' => 'item',
-    '#title' => t('Node type colors'),
-    '#description' => t('Colors for node types. If enabled, you may set colors for each node type below.'),
-  );
-  $form['fieldset'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Node type colors'),
-    '#collapsible' => TRUE,
-    '#collapsed' => !variable_get('fullcalendar_colors_node_types_enabled', FALSE),
-  );
-  $form['fieldset']['fullcalendar_colors_node_types_enabled'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Enable colors for node types'),
-    '#default_value' => variable_get('fullcalendar_colors_node_types_enabled', FALSE),
-  );
-  foreach (node_type_get_names() as $type => $name) {
-    $class = 'fullcalendar_colors_node_type_' . $type;
-    $colors = colors_get_colors($class, 'fullcalendar_colors');
-
-    $form['fieldset'][$class] = array(
-      '#title' => t($name),
-      '#type' => 'textfield',
-      '#attributes' => array('class' => array('colorpicker-input')),
-      '#default_value' => $colors['background'],
-      '#size' => 7,
-      '#maxlength' => 7,
-      '#states' => array(
-        'visible' => array(
-          ':input[name="fullcalendar_colors_node_types_enabled"]' => array('checked' => TRUE),
-        ),
-      ),
-    );
-  }
-
-  $form['actions']['#type'] = 'actions';
-  $form['actions']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Save configuration'),
-  );
-  $form['#submit'][] = 'fullcalendar_colors_admin_node_type_settings_submit';
-
-  return $form;
-}
-
-/**
- * Submit handler for fullcalendar_colors_admin_node_type_settings.
- */
-function fullcalendar_colors_admin_node_type_settings_submit($form, &$form_state) {
-  $values = $form_state['values'];
-
-  variable_set('fullcalendar_colors_node_types_enabled', $values['fullcalendar_colors_node_types_enabled']);
-
-  // Save the node colors.
-  foreach (node_type_get_names() as $type => $name) {
-    $class = 'fullcalendar_colors_node_type_' . $type;
-    fullcalendar_colors_set_color($class, $values[$class]);
-  }
-
-  drupal_set_message(t('The configuration options have been saved.'));
-}
-
-/**
- * Configuration form for coloring taxonomy.
- */
-function fullcalendar_colors_admin_taxonomy_settings() {
-  // CSS for our custom form.
-  ctools_add_css('fullcalendar_colors.admin', 'fullcalendar_colors');
-  $form = colors_load_colorpicker();
-
-  $form['taxonomy_colors'] = array(
-    '#type' => 'item',
-    '#title' => t('Taxonomy colors'),
-    '#description' => t('Colors on a per-taxonomy basis. After enabling a vocabulary, you can set colors for individual taxonomy terms below.'),
-  );
-  foreach (taxonomy_get_vocabularies() as $vid => $vocab) {
-    $form[$vid] = array(
-      '#type' => 'fieldset',
-      '#title' => $vocab->name,
-      '#collapsible' => TRUE,
-      '#collapsed' => !variable_get('fullcalendar_colors_taxo_' . $vid . '_enabled', FALSE),
-    );
-    $form[$vid]['fullcalendar_colors_taxo_' . $vid . '_enabled'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Enable this vocabulary'),
-      '#default_value' => variable_get('fullcalendar_colors_taxo_' . $vid . '_enabled', FALSE),
-    );
-
-    if (variable_get('fullcalendar_colors_taxo_' . $vid . '_enabled')) {
-      // If enabled, get all the terms in the taxonomy.
-      $term_ids = taxonomy_get_tree($vid);
-      // Print textfield for each term so user can add a hex value for a color.
-      foreach ($term_ids as $term) {
-        $class = 'fullcalendar_colors_taxo_term_' . $term->tid;
-        $colors = colors_get_colors($class, 'fullcalendar_colors');
-        $form[$vid][$class] = array(
-          '#title' => t($term->name),
-          '#type' => 'textfield',
-          '#attributes' => array('class' => array('colorpicker-input')),
-          '#default_value' => $colors['background'],
-          '#size' => 7,
-          '#maxlength' => 7,
-        );
-      }
-    }
-  }
-
-  $form['actions']['#type'] = 'actions';
-  $form['actions']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Save configuration'),
-  );
-  $form['#submit'][] = 'fullcalendar_colors_admin_taxonomy_settings_submit';
-
-  return $form;
-}
-
-/**
- * Submit handler for fullcalendar_colors_admin_taxonomy_settings.
- */
-function fullcalendar_colors_admin_taxonomy_settings_submit($form, &$form_state) {
-  $values = $form_state['values'];
-
-  foreach (taxonomy_get_vocabularies() as $vid => $vocab) {
-    if (variable_get('fullcalendar_colors_taxo_' . $vid . '_enabled')) {
-      $term_ids = taxonomy_get_tree($vid);
-      foreach ($term_ids as $term) {
-        $class = 'fullcalendar_colors_taxo_term_' . $term->tid;
-        fullcalendar_colors_set_color($class, $values[$class]);
-      }
-    }
-    variable_set('fullcalendar_colors_taxo_' . $vid . '_enabled', $values['fullcalendar_colors_taxo_' . $vid . '_enabled']);
-  }
-
-  drupal_set_message(t('The configuration options have been saved.'));
-}
-
-/**
- * Configuration form for coloring organic groups (og).
- */
-function fullcalendar_colors_admin_og_settings() {
-  // CSS for our custom form.
-  ctools_add_css('fullcalendar_colors.admin', 'fullcalendar_colors');
-  $form = colors_load_colorpicker();
-
-  if (module_exists('og')) {
-    $form['og_colors'] = array(
-      '#type' => 'item',
-      '#title' => t('Group colors'),
-      '#description' => t('Colors for organic groups. If enabled, you may set colors for each group below.'),
-    );
-    $form['fieldset'] = array(
-      '#type' => 'fieldset',
-      '#title' => t('Group colors'),
-      '#collapsible' => TRUE,
-      '#collapsed' => !variable_get('fullcalendar_colors_groups_enabled', FALSE),
-    );
-    $form['fieldset']['fullcalendar_colors_groups_enabled'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Enable colors for groups'),
-      '#default_value' => variable_get('fullcalendar_colors_groups_enabled', FALSE),
-    );
-    foreach (og_get_all_group() as $gid) {
-      $class = 'fullcalendar_color_group_' . $gid;
-      $colors = colors_get_colors($class, 'fullcalendar_colors');
-
-      $form['fieldset'][$class] = array(
-        '#title' => og_label($gid),
-        '#type' => 'textfield',
-        '#attributes' => array('class' => array('colorpicker-input')),
-        '#default_value' => $colors['background'],
-        '#size' => 7,
-        '#maxlength' => 7,
-        '#states' => array(
-          'visible' => array(
-            ':input[name="fullcalendar_color_groups_enabled"]' => array('checked' => TRUE),
-          ),
-        ),
-      );
-    }
-  }
-
-  $form['actions']['#type'] = 'actions';
-  $form['actions']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Save configuration'),
-  );
-  $form['#submit'][] = 'fullcalendar_colors_admin_og_settings_submit';
-
-  return $form;
-}
-
-/**
- * Submit handler for fullcalendar_colors_admin_og_settings.
- */
-function fullcalendar_colors_admin_og_settings_submit($form, &$form_state) {
-  $values = $form_state['values'];
-  variable_set('fullcalendar_colors_groups_enabled', $values['fullcalendar_colors_groups_enabled']);
-
-  // Save the node colors.
-  foreach (og_get_all_group() as $gid) {
-    $class = 'fullcalendar_color_group_' . $gid;
-    fullcalendar_colors_set_color($class, $values[$class]);
-  }
-
-  drupal_set_message(t('The configuration options have been saved.'));
-}
-
-/**
- * Configuration form for coloring user roles.
- */
-function fullcalendar_colors_admin_user_role_settings() {
-  // CSS for our custom form.
-  ctools_add_css('fullcalendar_colors.admin', 'fullcalendar_colors');
-  $form = colors_load_colorpicker();
-
-  $form['user_role_colors'] = array(
-    '#type' => 'item',
-    '#title' => t('User role colors'),
-    '#description' => t('Colors for user roles. If enabled, you may set colors for each user role below.'),
-  );
-  $form['fieldset'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('User roles colors'),
-    '#collapsible' => TRUE,
-    '#collapsed' => !variable_get('fullcalendar_colors_user_roles_enabled', FALSE),
-  );
-  $form['fieldset']['fullcalendar_colors_user_roles_enabled'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Enable colors for user roles'),
-    '#default_value' => variable_get('fullcalendar_colors_user_roles_enabled', FALSE),
-  );
-  foreach (user_roles() as $role_id => $role) {
-    $class = 'fullcalendar_colors_user_role_' . $role_id;
-    $colors = colors_get_colors($class, 'fullcalendar_colors');
-
-    $form['fieldset'][$class] = array(
-      '#title' => t($role),
-      '#type' => 'textfield',
-      '#attributes' => array('class' => array('colorpicker-input')),
-      '#default_value' => $colors['background'],
-      '#size' => 7,
-      '#maxlength' => 7,
-      '#states' => array(
-        'visible' => array(
-          ':input[name="fullcalendar_colors_user_roles_enabled"]' => array('checked' => TRUE),
-        ),
-      ),
-    );
-  }
-
-  $form['actions']['#type'] = 'actions';
-  $form['actions']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Save configuration'),
-  );
-  $form['#submit'][] = 'fullcalendar_colors_admin_user_role_settings_submit';
-
-  return $form;
-}
-
-/**
- * Submit handler for fullcalendar_colors_admin_node_type_settings.
- */
-function fullcalendar_colors_admin_user_role_settings_submit($form, &$form_state) {
-  $values = $form_state['values'];
-  variable_set('fullcalendar_colors_user_roles_enabled', $values['fullcalendar_colors_user_roles_enabled']);
-
-  // Save the user roles colors.
-  foreach (user_roles() as $role_id => $role) {
-    $class = 'fullcalendar_colors_user_role_' . $role_id;
-    fullcalendar_colors_set_color($class, $values[$class]);
-  }
-
-  drupal_set_message(t('The configuration options have been saved.'));
-}
-
-/**
- * Configuration form for color settings.
- */
-function fullcalendar_colors_admin_settings() {
-  $form = colors_load_colorpicker();
-  $default_colors = colors_get_colors('fullcalendar_colors_default');
-
-  $form['default_color'] = array(
-    '#type' => 'item',
-    '#title' => t('Default color'),
-    '#tree' => TRUE,
-    'input' => array(
-      '#title' => t('default color'),
-      '#type' => 'textfield',
-      '#attributes' => array('class' => array('colorpicker-input')),
-      '#default_value' => $default_colors['background'],
-      '#size' => 7,
-      '#maxlength' => 7,
-      '#title_display' => 'invisible',
-    ),
-  );
-
-  $form['process_order'] = array(
-    '#tree' => TRUE,
-    'info' => array(
-      '#type' => 'item',
-      '#title' => t('Process order'),
-    ),
-    'enabled' => array(
-      '#type' => 'checkbox',
-      '#title' => t('Change the CSS processing order.'),
-      '#default_value' => variable_get('fullcalendar_colors_process_order_enabled', FALSE),
-      '#description' => t('Color order is cascading, CSS from modules at the bottom will override the top.'),
-    ),
-  );
-
-  fullcalendar_colors_include_api();
-  $modules = array();
-  foreach (module_implements('fullcalendar_classes') as $weight => $module) {
-    $modules[$module] = variable_get('fullcalendar_colors_weight_' . $module, $weight);
-  }
-
-  // FullCalendar's colors will always be processed first, remove it and sort
-  // the list of modules.
-  unset($modules['fullcalendar']);
-  asort($modules);
-
-  $form['modules'] = array(
-    '#tree' => TRUE,
-  );
-  $rows = array();
-  foreach ($modules as $module => $weight) {
-    // Get the module name.
-    $path = drupal_get_path('module', $module) . '/' . $module . '.info';
-    $info = drupal_parse_info_file($path);
-
-    $form['modules'][$module]['#name'] = $info['name'];
-    $form['modules'][$module]['#weight'] = $weight;
-    $form['modules'][$module]['weight'] = array(
-      '#type' => 'textfield',
-      '#title' => t('Weight for @title', array('@title' => $module)),
-      '#title_display' => 'invisible',
-      '#size' => 4,
-      '#default_value' => $weight,
-      '#attributes' => array('class' => array('fullcalendar-color-weight')),
-    );
-  }
-  $form['order_settings'] = array(
-    '#type' => 'container',
-    '#states' => array(
-      'visible' => array(
-        'input[name="process_order[enabled]"]' => array('checked' => TRUE),
-      ),
-    ),
-  );
-
-  $form['actions'] = array(
-    '#type' => 'actions',
-    'submit' => array(
-      '#type' => 'submit',
-      '#value' => t('Save settings'),
-      '#submit' => array('fullcalendar_colors_admin_settings_submit'),
-    ),
-  );
-
-  return $form;
-}
-
-/**
- * Form submit handler for the fullcalendar_colors_admin_settings() form.
- */
-function fullcalendar_colors_admin_settings_submit($form, &$form_state) {
-  fullcalendar_colors_set_color('fullcalendar_colors_default', $form_state['values']['default_color']['input']);
-  variable_set('fullcalendar_colors_process_order_enabled', $form_state['values']['process_order']['enabled']);
-
-  foreach ($form_state['values']['modules'] as $module => $weight) {
-    if ($form['modules'][$module]['#weight'] != $weight['weight']) {
-      variable_set('fullcalendar_colors_weight_' . $module, $weight['weight']);
-    }
-  }
-}
-
-/**
- * Returns HTML for the settings form.
- *
- * @param array $variables
- *   An associative array containing:
- *   - form: A render element representing the form.
- */
-function theme_fullcalendar_colors_admin_settings($variables) {
-  $form = $variables['form'];
-
-  $rows = array();
-  foreach (element_children($form['modules']) as $module) {
-    $row = array();
-    $row[] = $form['modules'][$module]['#name'];
-    $row[] = drupal_render($form['modules'][$module]['weight']);
-
-    $rows[] = array('data' => $row, 'class' => array('draggable'));
-  }
-
-  $form['order_settings']['table'] = array(
-    '#theme' => 'table',
-    '#header' => array(
-      t('Module'),
-      t('Weight'),
-    ),
-    '#rows' => $rows,
-    '#attributes' => array('id' => 'fullcalender-colors-settings'),
-  );
-  drupal_add_tabledrag('fullcalender-colors-settings', 'order', 'sibling', 'fullcalendar-color-weight');
-
-  return drupal_render_children($form);
-}
diff --git a/fullcalendar_colors/modules/node.fullcalendar_colors.inc b/fullcalendar_colors/modules/node.fullcalendar_colors.inc
deleted file mode 100644
index 8687991..0000000
--- a/fullcalendar_colors/modules/node.fullcalendar_colors.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
- * @file
- * Implements FullCalendar Colors hooks for node.module.
- */
-
-/**
- * Implements hook_fullcalendar_classes().
- *
- * Provide colors per node type.
- */
-function node_fullcalendar_classes($entity) {
-  $class_names = array();
-  if (variable_get('fullcalendar_colors_node_types_enabled', FALSE)) {
-    if ($entity->entity_type == 'node') {
-      $class_names[] = 'fullcalendar_colors_node_type_' . $entity->type;
-    }
-  }
-  return $class_names;
-}
diff --git a/fullcalendar_colors/modules/og.fullcalendar_colors.inc b/fullcalendar_colors/modules/og.fullcalendar_colors.inc
deleted file mode 100644
index aebc818..0000000
--- a/fullcalendar_colors/modules/og.fullcalendar_colors.inc
+++ /dev/null
@@ -1,20 +0,0 @@
- <?php
-
-/**
- * @file
- * Implements FullCalendar Colors hooks for node.module.
- */
-
-/**
- * Implements hook_fullcalendar_classes().
- *
- * Provide colors per og type.
- */
-function og_fullcalendar_classes($entity) {
-  $class_names = array();
-  $gids = og_get_entity_groups($entity->entity_type, $entity);
-  foreach ($gids as $gid) {
-    $class_names[] = 'fullcalendar_color_group_' . $gid;
-  }
-  return $class_names;
-}
diff --git a/fullcalendar_colors/modules/taxonomy.fullcalendar_colors.inc b/fullcalendar_colors/modules/taxonomy.fullcalendar_colors.inc
deleted file mode 100644
index 3e36e27..0000000
--- a/fullcalendar_colors/modules/taxonomy.fullcalendar_colors.inc
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/**
- * @file
- * Implements FullCalendar Colors hooks for taxonomy.module.
- */
-
-/**
- * Implements hook_fullcalendar_classes().
- */
-function taxonomy_fullcalendar_classes($entity) {
-  $filtered_entity = array_intersect_key((array) $entity, field_info_instances($entity->entity_type, $entity->bundle));
-  $tids = _fullcalendar_colors_filter_term_ids($filtered_entity);
-  $class_names = array();
-  foreach (taxonomy_get_vocabularies() as $vid => $vocab) {
-    if (variable_get('fullcalendar_colors_taxo_' . $vid . '_enabled', FALSE)) {
-      // If enabled, get all the terms in the taxonomy.
-      foreach (taxonomy_get_tree($vid) as $term) {
-        if (in_array($term->tid, $tids)) {
-          $class_names[] = 'fullcalendar_colors_taxo_term_' . $term->tid;
-        }
-      }
-    }
-  }
-  return $class_names;
-}
-
-/**
- * Filters all the term ids found in an array of fields.
- *
- * @param array $fields
- *   An array filled with fields.
- *
- * @return array
- *   List of the term ids found in the given fields.
- */
-function _fullcalendar_colors_filter_term_ids($fields) {
-  $term_ids = array();
-  foreach ($fields as $key => $value) {
-    foreach ($value as $language => $term) {
-      foreach ($term as $content) {
-        if (isset($content['tid'])) {
-          $term_ids[] = $content['tid'];
-        }
-      }
-    }
-  }
-  return $term_ids;
-}
diff --git a/fullcalendar_colors/modules/user.fullcalendar_colors.inc b/fullcalendar_colors/modules/user.fullcalendar_colors.inc
deleted file mode 100644
index aa24d0b..0000000
--- a/fullcalendar_colors/modules/user.fullcalendar_colors.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/**
- * @file
- * Implements FullCalendar Colors hooks for user.module.
- */
-
-/**
- * Implements hook_fullcalendar_classes().
- *
- * Provide colors per user role.
- */
-function user_fullcalendar_classes($entity) {
-  $class_names = array();
-  if (variable_get('fullcalendar_colors_user_roles_enabled', FALSE)) {
-    if ($entity->entity_type == 'user') {
-      foreach ($entity->roles as $role_id => $role) {
-        $class_names[] = 'fullcalendar_colors_user_role_' . $role_id;
-      }
-    }
-  }
-  return $class_names;
-}
diff --git a/fullcalendar_legend/theme/theme.inc b/fullcalendar_legend/theme/theme.inc
index 1515e3a..18f8e10 100644
--- a/fullcalendar_legend/theme/theme.inc
+++ b/fullcalendar_legend/theme/theme.inc
@@ -70,11 +70,6 @@ function _fullcalendar_legend_get_classes($type) {
   $entity->bundle = $entity->type = $type['bundle'];
   $entity->entity_type = $type['entity_type'];
 
-  // Enable FullCalendar Colors API if needed.
-  if (module_exists('fullcalendar_colors')) {
-    fullcalendar_colors_include_api();
-  }
-
   $classes = module_invoke_all('fullcalendar_classes', $entity);
   drupal_alter('fullcalendar_classes', $classes, $entity);
 
diff --git a/theme/theme.inc b/theme/theme.inc
index e68bd55..9d6eb23 100644
--- a/theme/theme.inc
+++ b/theme/theme.inc
@@ -71,15 +71,6 @@ function template_preprocess_fullcalendar(&$variables) {
 }
 
 /**
- * Process FullCalendar Colors after the structure is built.
- */
-function template_process_fullcalendar(&$variables) {
-  if (module_exists('fullcalendar_colors')) {
-    fullcalendar_colors_process_selectors(array(), TRUE);
-  }
-}
-
-/**
  * Render the FullCalendar.
  */
 function theme_fullcalendar($variables) {
@@ -198,14 +189,8 @@ function fullcalendar_prepare_events($view, $rows, $options) {
       $entity->editable = $editable;
     }
 
-    // Enable FullCalendar Colors API if needed.
-    if (module_exists('fullcalendar_colors')) {
-      fullcalendar_colors_include_api();
-    }
-
      // Create a string of class names.
     $classes = array();
-    $colors = array();
     foreach (module_implements('fullcalendar_classes') as $module) {
       // Fetch all the class names.
       $function = $module . '_fullcalendar_classes';
@@ -213,13 +198,6 @@ function fullcalendar_prepare_events($view, $rows, $options) {
 
       // Merge for normal classes.
       $classes = array_merge($classes, $class_names);
-
-      // Prepare an array for the FullCalendar Colors module.
-      if (module_exists('fullcalendar_colors')) {
-        foreach ($class_names as $class_name) {
-          $colors[$module][$class_name] = $class_name;
-        }
-      }
     }
 
     // Alter the classes array if needed.
@@ -228,11 +206,6 @@ function fullcalendar_prepare_events($view, $rows, $options) {
     // Add classes to the FullCalendar event.
     $entity->class = implode(' ', array_unique($classes));
 
-    // Call FullCalendar Colors when needed.
-    if (module_exists('fullcalendar_colors')) {
-      fullcalendar_colors_generate_css($entity, $colors);
-    }
-
     // Default URL.
     $uri = entity_uri($entity_type, $entity);
     $entity->url = $uri['path'];
