views respond to state changes. errors handled and displayed correctly.