diff --git a/statuses.info b/statuses.info
index 1cd3c66..19589c1 100644
--- a/statuses.info
+++ b/statuses.info
@@ -8,6 +8,7 @@ core = 7.x
 files[] = statuses.author-pane.inc
 files[] = statuses.install
 files[] = statuses.module
+files[] = statuses.tokens.inc
 files[] = views-view-row-rss.tpl.php
 files[] = includes/statuses.preprocess.inc
 files[] = includes/ctools/content_types/statuses_stream.inc
diff --git a/statuses.module b/statuses.module
index fc5d3d0..9a03784 100644
--- a/statuses.module
+++ b/statuses.module
@@ -1284,100 +1284,6 @@ function statuses_statuses($op, $status, $context = NULL) {
 }
 
 //====================
-// TOKEN INTEGRATION.
-//====================
-
-/**
- * Implements hook_token_list().
- */
-function statuses_token_list($type = 'all') {
-  if ($type == 'statuses') {
-    $tokens['statuses'] = array(
-      'sender-themed' => t('The themed name of the user who posted the status message.'),
-      'sender-name' => t('The safe name of the user who posted the status message.'),
-      'sender-name-raw' => t('The raw name of the user who posted the status message. WARNING: raw user input.'),
-      'sender-uid' => t('The User ID of the user who posted the status message.'),
-      'sender-picture' => t('The profile picture of the user who posted the status message.'),
-      'recipient-type-name' => t('The machine name of the stream type of the recipient.'),
-      'recipient-type-title' => t('The readable name of the stream type of the recipient.'),
-      'recipient-link' => t('A link to the recipient.'),
-      'recipient-name' => t('The safe name of the recipient of the status message.'),
-      'recipient-name-raw' => t('The raw name of the recipient of the status message. WARNING: raw user input.'),
-      'recipient-id' => t('The ID of the recipient of the status message.'),
-      'message-unformatted' => t('The status text, with HTML escaped but no filters or anything run over it.'),
-      'message-formatted' => t('The status text completely themed.'),
-      'message-raw' => t('The completely unfiltered status text. WARNING: raw user input.'),
-      'status-themed' => t('The new status completely themed, including usernames and times.'),
-      'status-id' => t('The Status ID.'),
-      'status-url' => t('The URL of the status message.'),
-      'status-edit' => t('Edit status link.'),
-      'status-delete' => t('Delete status link.'),
-      'created' => t('The themed time the status was submitted.'),
-    );
-    if (module_exists('fbss_comments')) {
-      $tokens['statuses']['status-comment-count'] = t('The number of comments on the status.');
-      $tokens['statuses']['comments-email'] = t('The comments with inline styling suitable for emails.');
-    }
-    $tokens['statuses'] += token_get_date_token_info(t('The status created'), 'created-');
-    return $tokens;
-  }
-}
-
-/**
- * Implements hook_token_values().
- */
-function statuses_token_values($type, $data = NULL, $options = array()) {
-  if ($type != 'statuses' || empty($data)) {
-    return;
-  }
-  $status = $data;
-  $context = statuses_determine_context($status->type);
-
-  $message_formatted = _statuses_run_filter($status->message);
-  if (variable_get('statuses_nl2br', 0)) {
-    $message_formatted = nl2br($message_formatted);
-  }
-  $edit = '';
-  $delete = '';
-  if (statuses_user_access('edit', $status)) {
-    $edit = '<span class="statuses-edit-link statuses-action-link">' . l(t('Edit'), 'statuses/' . $status->sid . '/edit') . '</span>';
-  }
-  if (statuses_user_access('delete', $status)) {
-    $delete = '<span class="statuses-delete-link statuses-action-link">' .  l(t('Delete'), 'statuses/' . $status->sid . '/delete') . '</span>';
-  }
-  $sender = user_load($status->sender);
-  $recipient = $context['handler']->load_recipient($status->recipient);
-  $sender->imagecache_preset = variable_get('statuses_imagecache_preset', variable_get('user_picture_imagecache_profiles_default', ''));
-  $url = url('statuses/'. $status->sid, array('absolute' => TRUE));
-  $values = array(
-    'sender-themed' => theme('username', array('account' => $sender)),
-    'sender-name' => check_plain($sender->name),
-    'sender-name-raw' => $sender->name,
-    'sender-uid' => $sender->uid,
-    'sender-picture' => theme('user_picture', $sender),
-    'recipient-type-name' => $status->type,
-    'recipient-type-title' => $context['title'],
-    'recipient-link' => $context['handler']->recipient_link($recipient),
-    'recipient-name' => check_plain($context['handler']->recipient_name($recipient)),
-    'recipient-name-raw' => $context['handler']->recipient_name($recipient),
-    'recipient-id' => $context['handler']->recipient_id($recipient),
-    'message-unformatted' => check_plain($status->message),
-    'message-formatted' => $message_formatted,
-    'message-raw' => $status->message,
-    'status-themed' => statuses_show($status),
-    'status-id' => $status->sid,
-    'status-url' => $url,
-    'status-edit' => $edit,
-    'status-delete' => $delete,
-    'status-comment-count' => module_exists('fbss_comments') ? fbss_comments_count_comments($status->sid) : 0,
-    'comments-email' => module_exists('fbss_comments') ? theme('fbss_comments_items_email', fbss_comments_get_comments($status->sid, TRUE), $url) : '',
-    'created' => format_date($status->created, 'short'),
-  );
-  $values += token_get_date_token_values($status->created, 'created-');
-  return $values;
-}
-
-//====================
 // VIEWS INTEGRATION.
 //====================
 
