Index: /trunk/bp-activity/bp-activity-loader.php
===================================================================
--- /trunk/bp-activity/bp-activity-loader.php	(revision 5299)
+++ /trunk/bp-activity/bp-activity-loader.php	(revision 5300)
@@ -331,5 +331,10 @@
 }
 
-// Create the activity component
-$bp->activity = new BP_Activity_Component();
+function bp_setup_activity() {
+	global $bp;
+
+	$bp->activity = new BP_Activity_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_activity', 6 );
+
 ?>
Index: /trunk/bp-blogs/bp-blogs-loader.php
===================================================================
--- /trunk/bp-blogs/bp-blogs-loader.php	(revision 5299)
+++ /trunk/bp-blogs/bp-blogs-loader.php	(revision 5300)
@@ -192,6 +192,10 @@
 	}
 }
-// Create the blogs component
-$bp->blogs = new BP_Blogs_Component();
+
+function bp_setup_blogs() {
+	global $bp;
+	$bp->blogs = new BP_Blogs_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_blogs', 6 );
 
 ?>
Index: /trunk/bp-core/bp-core-hooks.php
===================================================================
--- /trunk/bp-core/bp-core-hooks.php	(revision 5299)
+++ /trunk/bp-core/bp-core-hooks.php	(revision 5300)
@@ -3,39 +3,73 @@
 if ( !defined( 'ABSPATH' ) ) exit;
 
-/** Loaded ********************************************************************/
+/**
+ * BuddyPress Filters & Actions
+ *
+ * @package BuddyPress
+ * @subpackage Hooks
+ *
+ * This file contains the actions and filters that are used through-out BuddyPress.
+ * They are consolidated here to make searching for them easier, and to help
+ * developers understand at a glance the order in which things occur.
+ *
+ */
 
-add_action( 'plugins_loaded', 'bp_loaded',  10 );
+// Exit if accessed directly
+if ( !defined( 'ABSPATH' ) ) exit;
 
-add_action( 'bp_loaded',      'bp_include', 2  );
+/** ACTIONS *******************************************************************/
 
-add_action( 'wp',             'bp_actions', 3  );
+/**
+ * Attach BuddyPress to WordPress
+ *
+ * BuddyPress uses its own internal actions to help aid in additional plugin
+ * development, and to limit the amount of potential future code changes when
+ * updates to WordPress occur.
+ */
+add_action( 'plugins_loaded',         'bp_loaded',                 10 );
+add_action( 'init',                   'bp_init',                   10 );
+add_action( 'wp',                     'bp_ready',                  10 );
+//add_action( 'generate_rewrite_rules', 'bp_generate_rewrite_rules', 10 );
+//add_action( 'wp_enqueue_scripts',     'bp_enqueue_scripts',        10 );
+//add_filter( 'template_include',       'bp_template_include',       10 );
 
-add_action( 'wp',             'bp_screens', 4  );
+/**
+ * bp_loaded - Attached to 'plugins_loaded' above
+ *
+ * Attach various loader actions to the bp_loaded action.
+ * The load order helps to execute code at the correct time.
+ *                                                 v---Load order
+ */
+add_action( 'bp_loaded', 'bp_setup_components',    2  );
+add_action( 'bp_loaded', 'bp_include',             4  );
+add_action( 'bp_loaded', 'bp_setup_widgets',       6  );
+add_action( 'bp_loaded', 'bp_core_load_admin_bar', 10 );
 
-/** Init **********************************************************************/
+/**
+ * bp_init - Attached to 'init' above
+ *
+ * Attach various initialization actions to the bp_init action.
+ * The load order helps to execute code at the correct time.
+ *                                                 v---Load order
+ */
+add_action( 'bp_init', 'bp_core_set_uri_globals',  2 );
+add_action( 'bp_init', 'bp_setup_globals',         4 );
+add_action( 'bp_init', 'bp_setup_nav',             6 );
+add_action( 'bp_init', 'bp_setup_title',           8 );
 
-// Attach bp_init to WordPress init
-add_action( 'init',           'bp_init'                     );
+/**
+ * bp_ready - Attached to 'wp' above
+ *
+ * Attach various initialization actions to the bp_init action.
+ * The load order helps to execute code at the correct time.
+ *                                    v---Load order
+ */
+add_action( 'bp_ready', 'bp_actions', 2 );
+add_action( 'bp_ready', 'bp_screens', 4 );
 
-// Parse the URI and set globals
-add_action( 'bp_init',        'bp_core_set_uri_globals',  2 );
-
-// Setup component globals
-add_action( 'bp_init',        'bp_setup_globals',         4 );
-
-// Setup the navigation menu
-add_action( 'bp_init',        'bp_setup_nav',             7 );
+/** Admin Bar *****************************************************************/
 
 // Setup the navigation menu
 add_action( 'admin_bar_menu', 'bp_setup_admin_bar',      11 );
-
-// Setup the title
-add_action( 'bp_init',        'bp_setup_title',           9 );
-
-// Setup widgets
-add_action( 'bp_loaded',      'bp_setup_widgets'            );
-
-// Setup admin bar
-add_action( 'bp_loaded',      'bp_core_load_admin_bar'      );
 
 /** The hooks *****************************************************************/
@@ -46,4 +80,11 @@
 function bp_include() {
 	do_action( 'bp_include' );
+}
+
+/**
+ * Include files on this action
+ */
+function bp_setup_components() {
+	do_action( 'bp_setup_components' );
 }
 
@@ -99,4 +140,11 @@
 
 /**
+ * Attached to wp
+ */
+function bp_ready() {
+	do_action( 'bp_ready' );
+}
+
+/**
  * Attach potential template actions
  */
Index: /trunk/bp-core/bp-core-loader.php
===================================================================
--- /trunk/bp-core/bp-core-loader.php	(revision 5299)
+++ /trunk/bp-core/bp-core-loader.php	(revision 5300)
@@ -230,6 +230,9 @@
 }
 
-// Initialize the BuddyPress Core
-$bp->core = new BP_Core();
+function bp_setup_core() {
+	global $bp;
+	$bp->core = new BP_Core();
+}
+add_action( 'bp_setup_components', 'bp_setup_core', 2 );
 
 ?>
Index: /trunk/bp-forums/bp-forums-loader.php
===================================================================
--- /trunk/bp-forums/bp-forums-loader.php	(revision 5299)
+++ /trunk/bp-forums/bp-forums-loader.php	(revision 5300)
@@ -248,6 +248,11 @@
 	}
 }
-// Create the forums component
-$bp->forums = new BP_Forums_Component();
+
+function bp_setup_forums() {
+	global $bp;
+
+	$bp->forums = new BP_Forums_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_forums', 6 );
 
 ?>
Index: /trunk/bp-friends/bp-friends-loader.php
===================================================================
--- /trunk/bp-friends/bp-friends-loader.php	(revision 5299)
+++ /trunk/bp-friends/bp-friends-loader.php	(revision 5300)
@@ -207,6 +207,10 @@
 	}
 }
-// Create the friends component
-$bp->friends = new BP_Friends_Component();
+
+function bp_setup_friends() {
+	global $bp;
+	$bp->friends = new BP_Friends_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_friends', 6 );
 
 ?>
Index: /trunk/bp-groups/bp-groups-loader.php
===================================================================
--- /trunk/bp-groups/bp-groups-loader.php	(revision 5299)
+++ /trunk/bp-groups/bp-groups-loader.php	(revision 5300)
@@ -472,6 +472,12 @@
 	}
 }
-// Create the groups component
-$bp->groups = new BP_Groups_Component();
+
+
+function bp_setup_groups() {
+	global $bp;
+
+	$bp->groups = new BP_Groups_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_groups', 6 );
 
 ?>
Index: /trunk/bp-members/bp-members-loader.php
===================================================================
--- /trunk/bp-members/bp-members-loader.php	(revision 5299)
+++ /trunk/bp-members/bp-members-loader.php	(revision 5300)
@@ -186,8 +186,11 @@
 		parent::setup_title();
 	}
+}
 
+function bp_setup_members() {
+	global $bp;
+	$bp->members = new BP_Members_Component();
 }
-// Create the users component
-$bp->members = new BP_Members_Component();
+add_action( 'bp_setup_components', 'bp_setup_members', 1 );
 
 ?>
Index: /trunk/bp-messages/bp-messages-loader.php
===================================================================
--- /trunk/bp-messages/bp-messages-loader.php	(revision 5299)
+++ /trunk/bp-messages/bp-messages-loader.php	(revision 5300)
@@ -252,6 +252,10 @@
 	}
 }
-// Create the messages component
-$bp->messages = new BP_Messages_Component();
+
+function bp_setup_messages() {
+	global $bp;
+	$bp->messages = new BP_Messages_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_messages', 6 );
 
 ?>
Index: /trunk/bp-settings/bp-settings-loader.php
===================================================================
--- /trunk/bp-settings/bp-settings-loader.php	(revision 5299)
+++ /trunk/bp-settings/bp-settings-loader.php	(revision 5300)
@@ -182,6 +182,10 @@
 	}
 }
-// Create the settingss component
-$bp->settings = new BP_Settings_Component();
+
+function bp_setup_settings() {
+	global $bp;
+	$bp->settings = new BP_Settings_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_settings', 6 );
 
 ?>
Index: /trunk/bp-xprofile/bp-xprofile-loader.php
===================================================================
--- /trunk/bp-xprofile/bp-xprofile-loader.php	(revision 5299)
+++ /trunk/bp-xprofile/bp-xprofile-loader.php	(revision 5300)
@@ -231,7 +231,12 @@
 	}
 }
-// Create the xprofile component
-if ( !isset( $bp->profile->id ) )
-	$bp->profile = new BP_XProfile_Component();
+
+function bp_setup_xprofile() {
+	global $bp;
+
+	if ( !isset( $bp->profile->id ) )
+		$bp->profile = new BP_XProfile_Component();
+}
+add_action( 'bp_setup_components', 'bp_setup_xprofile', 6 );
 
 ?>
