anchor.diff:  
   check_plugins([{plugins, Plugins}], Acc) ->
       check_plugins(Plugins, Acc);
  +check_plugins([{module, {Name, Module, Fun, Arity}}|Rest], Acc) ->
  +    case lists:member(Module, erlang:loaded()) of
  +        true ->
  +            check_plugins(Rest, [{module_plugin, [{Name, Module, Fun, Arity}]}
  +                                 | Acc]);
  +        false ->
  +            {error, {not_loaded, Module}}
  +    end;
   check_plugins([{application, App, AppPath}|Rest], Acc) ->
       case check_plugin(App, AppPath) of
           {error, R} -> {error, R};
  
positive.code:     io:format(user, "info all ~p~n", [vmq_plugin:info(all)]),
      io:format(user, "info only ~p~n", [vmq_plugin:info(only)]),
      %% no plugin is registered
      ?assertEqual({error, no_matching_hook_found},
                   vmq_plugin:only(sample_hook, [])),
      ?assertEqual({error, no_matching_hook_found},
  
negative.code: 
  check_plugins([], CheckedHooks) -> {ok, CheckedHooks}.
  
  start_plugins([{module_plugin, _}|Rest]) ->
      start_plugins(Rest);
  start_plugins([{App, _}|Rest]) ->
      start_plugin(App),
      start_plugins(Rest);
  