anchor.diff:  	},
   
   	% Update physical state
  -	NewPhysical1 = dict:store(force_relative, Force, Physical),
  -	NewPhysical2 = dict:store(torque_relatice, Torque, NewPhysical1),
  +	NewPhysical = pre_physics_rk4:update_from_proplist(Physical, [
  +		{force_relative, Force},
  +		{torque_relative, Torque}
  +	]),
   
   	% Update entity state
   	Entity#entity{
  -		state = dict:store(physical, NewPhysical2, Entity#entity.state)
  +		state = dict:store(physical, NewPhysical, Entity#entity.state)
   	}.
   
   
  
positive.code: 	% -------------------------------------------------------------------------
  
  	% Set up our initial state
  	InitialState = InitialEntity#entity.state,
  	State1 = dict:store(physical, Physical, InitialState),
  	State2 = dict:store(ship, Ship, State1),
  
  	InitialEntity#entity{
  		state = State2
  	}.
  
  
negative.code: %% API
  %% --------------------------------------------------------------------------------------------------------------------
  
  init(InitialEntity) ->
  	Entity = case dict:find(physical, InitialEntity#entity.state) of
  		{ok, _} ->
  			entity_physical:init(InitialEntity);
  		error ->
  			% The initial entity had no 'physical' key; set up a default with randomized values.
  			EntWithNoInitialPhysical = entity_physical:init(InitialEntity),
  			InitialState = EntWithNoInitialPhysical#entity.state,
  			InitialPhysical = dict:fetch(physical, InitialState),
  
  			% Set up default physical state with random position/orientation
  			DefaultPhysical = pre_physics_rk4:update_from_proplist(
  				InitialPhysical,
  				[
  					{position,
  						{
  							random:uniform() * 200 - 100,
  							random:uniform() * 200 + 600,
  							random:uniform() * 20
  						}
  					},
  					{orientation,
  						quaternion:from_axis_angle(
  							vector:unit({
  								random:uniform(),
  								random:uniform(),
  								random:uniform()
  							}),
  							random:uniform() * math:pi()
  						)
  					}
  				]
  			),
  
  			EntWithNoInitialPhysical#entity{
  				state = dict:store(physical, DefaultPhysical, InitialState)
  			}
  	end,
  
  	% -------------------------------------------------------------------------
  
  	% Set up ship state
  	InitialShip = case dict:find(ship, Entity#entity.state) of
  		{ok, Value} ->
  			Value;
  		error ->
  