Fix: reset timeout timer after executing callback