model: added builder pattern to NumberRange
model: added LocationFactory
model: added PhotoFactory
model: added DI to AreaCache