anchor.diff:  % If the application defines it's own routing mechanism with the routing_param
   % then that is used to choose the backend, otherwise the default router param will
   % be used
  -choose_from_bees([], _RoutingParameter) -> ?MUST_WAIT_MSG;
  -choose_from_bees(Backends, AppRoutingParam) ->
  +choose_from_bees([], _AppMod, _RoutingParameter) -> ?MUST_WAIT_MSG;
  +choose_from_bees(Backends, Mod, AppRoutingParam) ->
     PreferredStrategy = config:search_for_application_value(bee_strategy, random, beehive),
     Fun = case AppRoutingParam of
       undefined -> PreferredStrategy;
       F -> F
     end,
  -  Backend = bee_strategies:Fun(Backends),
  +  Backend = Mod:Fun(Backends),
     {ok, Backend}.
   
   % Handle adding a new bee
  
positive.code:     {value, {_Hostname, From, _Pid, InsertTime}} when InsertTime < TOTime ->
        gen_server:reply(From, ?BACKEND_TIMEOUT_MSG),
        maybe_handle_next_waiting_client(Name, State);
      {value, {{_RoutingParam, Hostname} = Tuple, From, Pid, _InsertTime}} ->
        ?LOG(info, "Handling Q: ~p (~p)", [Hostname, Tuple]),
        case choose_bee(Tuple, From, Pid) of
          % Clearly we are not ready for another bee connection request. :(
  
negative.code:           end
        end
    end.
  
  pick_mod_and_meta_from_app(App) ->
    Mod = case App#app.bee_picker of
      undefined -> config:search_for_application_value(bee_picker, bee_strategies, beehive);
      E -> E
    end,
    R = case App#app.routing_param of
      undefined -> config:search_for_application_value(bee_strategy, random, beehive);
      El -> El
    end,
    {Mod, R}.