Applied the changes to Visual Mode to try and improve the error handling and recovery.

We need to make similar changes to Simple Mode. In doing so we can also remove the duplication code and move the current methods for openBook... to the base class.