Fixed timer issue by cancelling when controller is destroyed