anchor.diff:    start_link/0,
     fetch_or_build_bee/2,
     build_bee/1, build_bee/2,
  -  seed_nodes/1
  +  seed_nodes/1, has_bee_named/1
   ]).
   
   %% gen_cluster callbacks
  
positive.code: %%% Internal functions
  %%--------------------------------------------------------------------
  fetch_bee(#app{name = Name} = App, Caller, _State) ->
    case lists:member(Name, beehive_bee_object:ls()) of
      true -> 
        % We need to check to make sure this is the latest bee...
        beehive_bee_object:send_bee_object(node(Caller), Name, Caller);
      false -> 
        beehive_bee_object:bundle(apps:to_proplist(App), Caller)
    end.
  
  %%-------------------------------------------------------------------
  %% @spec (App::app(), State) ->    {ok, Value}
  %% @doc This will call the bundle task on the application template
  
negative.code: 
  fetch_or_build_bee(App, Caller) ->
    gen_cluster:call(?SERVER, {fetch_or_build_bee, App, Caller}, infinity).
  
  %%-------------------------------------------------------------------
  %% @spec (Name) ->    true | false
  %% @doc Report if the bee has been bundled on this beehive_storage_srv
  %%      
  %% @end
  %%-------------------------------------------------------------------
  has_bee_named(Name) -> lists:member(Name, beehive_bee_object:ls()).
  
  start_link() ->
    gen_cluster:start_link({local, ?SERVER}, ?MODULE, [], []).
  