fix observer not removed after cancelling time picking