Change setTimeout to callback in the unsubscribe