added $$show, various fixes
rewrote loop and on()/off()/trigger() to avoid arrays, removed 18 bytes