This keeps the same behavior, but makes the function easier to read.
- moved to async/await with early returns
- kept only one small Promise wrapper around the _hideModule callback
- removed a duplicate speed check
- cleaned up JSDoc so timing/return details are clearer
No runtime change intended; hide/show sequencing stays the same.