Initial Commit, client solid is quite solid but to do further testing
need to figure out Google Cloud Messaging server backend