add disappear and appear for handling tap (un)subcribes