Added AbstractCollection model and renamed Entities to EntityCollection. This will allow better reuse later.