TIP: PHP file inclusion workarounds for many Drupal hook functions in one module

TODO: this content is incomplete, unfinished, or under construction.
Keywords

A typical problem/side-effect of the hook and form validation and submit handler function convention systems of Drupal6/7/8 is that module files can grow in size to cope with many hooks (and/or convention functions).

One way of (sort of) addressing it is illustrated in the Examples Project: form examples, which includes tricks like:

/**
 * Implements hook_element_info().
 *
 * To keep the various pieces of the example together in external files,
 * this just returns _form_example_elements().
 */
function form_example_element_info() {
  require_once('form_example_elements.inc');
  return _form_example_element_info();
}
 
/**
 * Implements hook_theme().
 *
 * The only theme implementation is by the element example. To keep the various
 * parts of the example together, this actually returns
 * _form_example_element_theme().
 */
function form_example_theme($existing, $type, $theme, $path) {
  require_once('form_example_elements.inc');
  return _form_example_element_theme($existing, $type, $theme, $path);
}
/**
 * Implements hook_menu().
 *
 * Here we set up the URLs (menu entries) for the
 * form examples. Note that most of the menu items
 * have page callbacks and page arguments set, with
 * page arguments set to be functions in external files.
 */
function form_example_menu() {
  $items = array();
  $items['examples/form_example'] = array(
    'title' => 'Form Example',
    'page callback' => 'form_example_intro',
    'access callback' => TRUE,
    'expanded' => TRUE,
  );
  $items['examples/form_example/tutorial'] = array(
    'title' => 'Form Tutorial',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('form_example_tutorial_1'),
    'access callback' => TRUE,
    'description' => 'A set of ten tutorials',
    'file' => 'form_example_tutorial.inc',
    'type' => MENU_NORMAL_ITEM,
  );

I seek a general way of getting Drupal to recognise object-oriented encapsulation of Drupal convention functions. The tutorial module OOE = Object Oriented Examples = One Of Each already shows how the Page Controller can be used so that one does not have to pollute a top-level module file with specific callbacks. But that trick won't work with submit handlers and validation handlers.