GCM Client implementation (partial)