Index: wp-includes/registration.php
===================================================================
--- wp-includes/registration.php	(revision 11623)
+++ wp-includes/registration.php	(working copy)
@@ -164,15 +164,6 @@
 	if ( empty($use_ssl) )
 		$use_ssl = 0;
 
-	if ( empty($jabber) )
-		$jabber = '';
-
-	if ( empty($aim) )
-		$aim = '';
-
-	if ( empty($yim) )
-		$yim = '';
-
 	if ( empty($user_registered) )
 		$user_registered = gmdate('Y-m-d H:i:s');
 
@@ -203,13 +194,16 @@
 	update_usermeta( $user_id, 'last_name', $last_name);
 	update_usermeta( $user_id, 'nickname', $nickname );
 	update_usermeta( $user_id, 'description', $description );
-	update_usermeta( $user_id, 'jabber', $jabber );
-	update_usermeta( $user_id, 'aim', $aim );
-	update_usermeta( $user_id, 'yim', $yim );
 	update_usermeta( $user_id, 'rich_editing', $rich_editing);
 	update_usermeta( $user_id, 'comment_shortcuts', $comment_shortcuts);
 	update_usermeta( $user_id, 'admin_color', $admin_color);
 	update_usermeta( $user_id, 'use_ssl', $use_ssl);
+	foreach (_wp_get_user_contactmethods() as $method => $name) {
+		if ( empty($$method) )
+			$$method = '';
+		
+		update_usermeta( $user_id, $method, $$method );
+	}
 
 	if ( isset($role) ) {
 		$user = new WP_User($user_id);
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 11623)
+++ wp-admin/includes/user.php	(working copy)
@@ -105,12 +105,11 @@
 		$user->display_name = esc_html( trim( $_POST['display_name'] ));
 	if ( isset( $_POST['description'] ))
 		$user->description = trim( $_POST['description'] );
-	if ( isset( $_POST['jabber'] ))
-		$user->jabber = esc_html( trim( $_POST['jabber'] ));
-	if ( isset( $_POST['aim'] ))
-		$user->aim = esc_html( trim( $_POST['aim'] ));
-	if ( isset( $_POST['yim'] ))
-		$user->yim = esc_html( trim( $_POST['yim'] ));
+	$user_contactmethods = _wp_get_user_contactmethods();
+	foreach ($user_contactmethods as $method => $name) {
+		if ( isset( $_POST[$method] ))
+			$user->$method = esc_html( trim( $_POST[$method] ) );
+	}
 	if ( !$update )
 		$user->rich_editing = 'true';  // Default to true for new users.
 	else if ( isset( $_POST['rich_editing'] ) )
@@ -835,4 +834,21 @@
 	echo '</p></div>';
 }
 
+/**
+ * Setup the default contact methods
+ *
+ * @access private
+ * @since 
+ *
+ * @return array $user_contactmethods Array of contact methods and their labels.
+ */
+function _wp_get_user_contactmethods() {
+	$user_contactmethods = array(
+		'aim' => __('AIM'),
+		'yim' => __('Yahoo IM'),
+		'jabber' => __('Jabber / Google Talk')
+	);
+	return apply_filters('user_contactmethods',$user_contactmethods);
+}
+
 ?>
Index: wp-admin/user-edit.php
===================================================================
--- wp-admin/user-edit.php	(revision 11623)
+++ wp-admin/user-edit.php	(working copy)
@@ -267,20 +267,16 @@
 	<td><input type="text" name="url" id="url" value="<?php echo esc_attr($profileuser->user_url) ?>" class="regular-text code" /></td>
 </tr>
 
+<?php
+	foreach (_wp_get_user_contactmethods() as $name => $desc) {
+?>
 <tr>
-	<th><label for="aim"><?php echo apply_filters('user_aim_label', __('AIM')); ?></label></th>
-	<td><input type="text" name="aim" id="aim" value="<?php echo esc_attr($profileuser->aim) ?>" class="regular-text" /></td>
-</tr>
-
-<tr>
-	<th><label for="yim"><?php echo apply_filters('user_yim_label', __('Yahoo IM')); ?></label></th>
-	<td><input type="text" name="yim" id="yim" value="<?php echo esc_attr($profileuser->yim) ?>" class="regular-text" /></td>
-</tr>
-
-<tr>
-	<th><label for="jabber"><?php echo apply_filters('user_jabber_label', __('Jabber / Google Talk')); ?></label></th>
-	<td><input type="text" name="jabber" id="jabber" value="<?php echo esc_attr($profileuser->jabber) ?>" class="regular-text" /></td>
-</tr>
+	<th><label for="<?php echo $name; ?>"><?php echo apply_filters('user_'.$name.'_label', $desc); ?></label></th>
+	<td><input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr($profileuser->$name) ?>" class="regular-text" /></td>
+</tr>	
+<?php
+	}
+?>
 </table>
 
 <h3><?php IS_PROFILE_PAGE ? _e('About Yourself') : _e('About the user'); ?></h3>
