change the throttle to a debounce (never ignore changes, just reduce bursts to a single restart)
re-order and simplify some type checks to speed up $.type.lookup
rebuild