Why do we need to override these at all? Why is a regular observer not sufficient?