Using `setTimeout()` for `utility.debounce()`, removed `element.show()`, refactoring `Promises` (about 10-20x too slow)