Add invisible mode and better key hook functionality