use 'object' instead of 'entity' so as not to preclude ValueObjects from DDD
put object and collection factories back into constructor
update docblocks