Why does this model depend on 2 views? (also, what is the application state if the require call does not succeed?)