Better cleanup and pause on hide