add necessary registration (and reset) to make sure destination is pushable, clean up overall usage of API
few more notes