fix race between Expire() and others, fix UpdateTTL(), modified watcher to catch Expire()