use attr to track shiny viewer type (avoid comparing raw functions)