Tested for attributes, rather than catching attribute errors, as this was catching unintended events
I, the wonderful Martin Green, have debugged James's lousy code