Refactor GCM push and its related part