anchor.diff:  		OptionalApplicationsStep2 = if ManagementEnabled -> [rabbit_management_agent, rabbit_management]; true -> [] end,
   		{ok, MandatoryApplicationsStep1 ++ OptionalApplicationsStep1, MandatoryApplicationsStep2 ++ OptionalApplicationsStep2}
   	catch throw : {error, Reason} -> {error, {failed_resolving_applications, Reason}} end.
  -
  -
  -load_applications () ->
  -	try
  -		ok = enforce_ok (mosaic_application_tools:load (mosaic_rabbitmq, with_dependencies)),
  -		{ApplicationsStep1, ApplicationsStep2} = enforce_ok_2 (resolve_applications ()),
  -		ok = enforce_ok (mosaic_application_tools:load (ApplicationsStep1 ++ ApplicationsStep2, without_dependencies)),
  -		ok
  -	catch throw : {error, Reason} -> {error, {failed_loading_applications, Reason}} end.
   
   
   start_applications () ->
  
positive.code: 		IdentifierString = erlang:binary_to_list (enforce_ok_1 (mosaic_component_coders:encode_component (Identifier))),
  		BrokerSocketIpString = erlang:binary_to_list (BrokerSocketIp),
  		ManagementSocketIpString = erlang:binary_to_list (ManagementSocketIp),
  		ok = enforce_ok (application:set_env (rabbit, tcp_listeners, [{BrokerSocketIpString, BrokerSocketPort}])),
  		ok = enforce_ok (application:set_env (rabbit_mochiweb, port, ManagementSocketPort)),
  		ok = enforce_ok (application:set_env (mnesia, dir, "/tmp/mosaic/components/rabbitmq/" ++ IdentifierString ++ "/mnesia")),
  		ok = enforce_ok (application:set_env (mnesia, core_dir, "/tmp/mosaic/components/rabbitmq/" ++ IdentifierString ++ "/mnesia")),
  		ok = enforce_ok (start_applications ()),
  		ok = enforce_ok (mosaic_component_callbacks:register_async (Group, {mosaic_rabbitmq_callbacks_internals, register_return})),
  		NewState = OldState#state{status = waiting_register_return, broker_socket = BrokerSocket, management_socket = ManagementSocket},
  
negative.code: 
  
  configure () ->
  	mosaic_component_callbacks:configure ([
  				{load, mosaic_rabbitmq, with_dependencies},
  				{load, fun () -> case resolve_applications () of {ok, A1, A2} -> {ok, A1 ++ A2}; E = {error, _} -> E end end, without_dependencies},
  				{identifier, mosaic_rabbitmq},
  				{group, mosaic_rabbitmq},
  				harness]).
  
  
  resolve_applications () ->
  