add model logic, user factory with synthetic latency, and user spec not using prefactory