anchor.diff:  
   
   handle_call( { stop_device, DeviceId }, _From, State ) ->
  -	do_stop_device( DeviceId ),
  -	NewDevices = orddict:erase( DeviceId, State#state.devices ),
  -	NewState = State#state{ devices = NewDevices },
  -	{ reply, ok, NewState };
  +	case orddict:find( DeviceId, State#state.devices ) of
  +		{ ok, Device } ->
  +			lurch_driver_port:stop_driver( Device#device.port ),
  +			NewDevices = orddict:erase( DeviceId, State#state.devices ),
  +			NewState = State#state{ devices = NewDevices },
  +			{ reply, ok, NewState };
  +		error -> {reply, { error, no_such_device }, State }
  +	end;
   
   
   handle_call( list_devices, _From, State ) ->
  
positive.code: 	end.
  
  
  do_stop_device( _DeviceId ) ->
  	ok.
  
  
  device_to_proplist( Device ) ->
  	[ { id, Device#device.id }
  	, { driver, Device#device.driver }
  
negative.code: 	meck:new( lurch_driver_port, [ ] ),
  	meck:expect( lurch_driver_port, start_driver,
  				 fun( _Driver, _Parameters ) -> { ok, port_mock } end ),
  	meck:expect( lurch_driver_port, stop_driver,
  				 fun( Port ) -> ok end ),
  	Pid.
  
  
  