Modified to extend ampersand-view. The rest of the interface should not have changed.