Separated markup and logic.