added viewTrigger, throttledChange, and debouncedChange