Any reason why these push checks are outside of `PushMessageApi`'s `should_push`?