anchor.diff:  
   handle_call( { stop_device, DeviceId }, _From, State ) ->
   	do_stop_device( DeviceId ),
  -	NewState = orddict:erase( DeviceId, State#state.devices ),
  +	NewDevices = orddict:erase( DeviceId, State#state.devices ),
  +	NewState = State#state{ devices = NewDevices },
   	{ reply, ok, NewState };
   
   handle_call( list_devices, _From, State ) ->
  
positive.code: 	[ ?_assert( erlang:is_process_alive( Pid ) ) ].
  
  test_start_stop_device( Server ) ->
  	Result1 = start_device( Server, <<"dummy">>, [ ] ),
  	Result2 = stop_device( Server, element( 2, Result1 ) ),
  	[ ?_assertMatch( { ok, _Ref }, Result1 )
  	, ?_assertEqual( ok, Result2 ) ].
  
  test_add_list_devices( Server ) ->
  	DeviceCount = 3,
  	StartDeviceOk = fun( ) ->
  		{ ok, DeviceId } = start_device( Server, <<"dummy">>, [ ] ),
  		DeviceId
  
negative.code: 
  -define( setup( F ), { setup, fun test_start/0, fun test_stop/1, F } ).
  
  % TODO - test:
  % * starting device fails
  % * server state contains same device parameters as specified
  % * stopping device fails ??
  
  % Test descriptions
  server_test_( ) ->
  	{ "Server can be started and stopped"
  