experimenting with 'Factory' for populating immutable objects