added generic domain model factory interface and implemented for Person on PersonFactory class