register focus on top of visibilitychange

can you do something to bail if both `visibilitychange` **and** `focus` get called at the same time? you don't want to fetch consumer info. and mark all the buttons twice.