mvvm: Interaction tier architecture