Internal refactor, use setTimeout in internal implementation