
Using an internal boolean rather than the visibility property seems more reliable to me. Add a list of internal functions rather than an if/else chain, so for example an extension could hook something on. Delete the javascript evaluator in favor of the upcoming lookingGlass.js.