There are a dozen or so cases in this module that follow the pattern

$hook = 'sco_node_hook';
  foreach (module_implements($hook) as $mod) {
    $function = $mod . '_' . $hook;
    $function($node, $arg1, $arg2);
}

This is redundant with the core functions module_invoke_all() and drupal_alter(). Consider replacing these instances with those functions, unless there's a specific reason you've done it this way instead of using those core functions.