Since you have not started yet, let me suggest that you use categories since that is easier to set up.
You would start by creating categories for your components.
You would install the Simply Exclude plugin and exclude the component categories from the Front Page, and possibly other uses.
For each component, you would create a new Post and assign it one of the categories.
Next, you would add code to your functions.php to define the shortcode. It would look something like this (UNTESTED):
<?php
// Function for shortcode to retrieve a component category post.
// Example: [mm_component slug=category-slug]
function mm_component_function ($atts) {
extract(shortcode_atts(array(
'slug' => '',
), $atts));
$output = '';
if ($slug) {
$args = array(
'category_name' => $slug,
'posts_per_page' => 1,
'numberposts' => 1,
'caller_get_posts' => 1
);
$rows = get_posts($args);
if ($rows) {
$output = apply_filters('the_content',$rows[0]->post_content);
}
}
return $output;
}
add_shortcode('mm_component','mm_component_function');
?>
Finally, in your normal posts, you would use the shortcode to insert the component contents. Suppose the slug for ‘Component One’ is component-one. Then the shortcode would be like this:
[mm_component slug=component-one]
That should do it.