def exec(method, options = {})
    results = nil

    logger.info("Executing extension hook #{Nucleon.blue(method)} at #{Nucleon.green(Time.now.to_s)}")

    extensions = Util::Data.clone(active_plugins(:nucleon, :extension))

    extensions.each do |name, plugin|
      provider = plugin.plugin_provider
      result   = nil

      logger.info("Checking extension #{provider}")

      if plugin.respond_to?(method)
        results = {} if results.nil?

        result = plugin.send(method, options)
        logger.info("Completed hook #{method} at #{Time.now}")

        if block_given?
          results[provider] = yield(:process, result)
          logger.debug("Processed extension result into: #{results[provider].inspect}")
        end

        if results[provider].nil?
          logger.debug("Setting extension result to: #{result.inspect}")
          results[provider] = result
        end
      end
    end

    if ! results.nil? && block_given?
      results = yield(:reduce, results)
      logger.debug("Reducing extension results to: #{results.inspect}")
    else
      logger.debug("Final extension results: #{results.inspect}")
    end
    results
  end
def exec(method, options = {})
    results = nil

    logger.info("Executing extension hook #{Nucleon.blue(method)} at #{Nucleon.green(Time.now.to_s)}")

    extensions = Util::Data.clone(active_plugins(:nucleon, :extension))

    extensions.each do |name, plugin|
      provider = plugin.plugin_provider
      result   = nil

      logger.info("Checking extension #{provider}")

      if plugin.respond_to?(method)
        results = {} if results.nil?

        result = plugin.send(method, options)
        logger.info("Completed hook #{method} at #{Time.now}")

        if block_given?
          results[provider] = yield(:process, result)
          logger.debug("Processed extension result into: #{results[provider].inspect}")
        end

        if results[provider].nil?
          logger.debug("Setting extension result to: #{result.inspect}")
          results[provider] = result
        end
      end
    end

    if ! results.nil? && block_given?
      results = yield(:reduce, results)
      logger.debug("Reducing extension results to: #{results.inspect}")
    else
      logger.debug("Final extension results: #{results.inspect}")
    end
    results
  end
*****************************************************************************
 Extension hook execution