Added a toggle hotkey (defaulting to NONE), refactored a bunch of stuff.