Clarify w/ a heavy hammer why a viewmodel should delegate data access to a service