anchor.diff:  	pre_entity_engine_sup:add_entity(InitializedEntity),
   	{ok, InitializedEntity}.
   
  +%% --------------------------------------------------------------------------------------------------------------------
  +
  +%% @doc Creates a new entity either loading from the db, or with the given behavior and definition.
  +%%
  +%% This creates a new entity, attempting to load it from the database. If it is not found, it will create a new one
  +%% using the provided behavior and definition.
  +-spec create_entity(EntityID::binary(), Behavior::atom(), Definition::json_object(), ClientInfo::#client_info{}) ->
  +	{ok, Entity::#entity{}} | {failed, Reason :: string()} | {error, Msg :: string()}.
  +
  +create_entity(undefined, Behavior, Definition, ClientInfo) ->
  +	create_entity(Behavior, Definition, ClientInfo);
  +
  +create_entity(EntityID, Behavior, Definition, ClientInfo) ->
  +	% Do a database lookup, and attempt to load the entity.
  +	InitialEntity = case predata:get(<<"entity">>, EntityID) of
  +		{ok, Value} ->
  +			json_to_entity(Value);
  +		notfound ->
  +			#entity{};
  +		{error, Error} ->
  +			?error("Error looking up entity ~p during creation. Error was: ~p",
  +				[EntityID, Error]),
  +			#entity{}
  +	end,
  +
  +	% Set the entity's default behavior
  +	Entity = InitialEntity#entity {
  +		behavior = Behavior,
  +		client = ClientInfo
  +	},
  +
  +	% Populate the definition
  +	Entity1 = populate_definition(Entity, Definition),
  +
  +	% Initialize the behavior
  +	InitializedEntity = Behavior:init(Entity1),
  +
  +	pre_entity_engine_sup:add_entity(InitializedEntity),
  +	{ok, InitializedEntity}.
   %% --------------------------------------------------------------------------------------------------------------------
   
   %% @doc Creates a new entity with the given behavior and definition.
  
positive.code: 
  -module(pre_entity_manager).
  
  -export([get_entity/1, create_entity/2, create_entity/3, load_entity/1]).
  -export([start_entity_engine/1]).
  
  -include("log.hrl").
  
negative.code: %%
  %% This creates a new entity, using the provided behavior and definition. This does not attempt to load the entity from
  %% the database.
  -spec create_entity(Behavior::atom(), Definition::json_object()) ->
  	{ok, Entity::#entity{}} | {failed, Reason :: string()} | {error, Msg :: string()}.
  
  create_entity(Behavior, Definition) ->
  