AFAIK ProfileService was superseded by ProfileStore and uses a very similar API.
In my opinion, these faux services are often more work than is necessary; you can use regular remotes to do what you want. If the data change is done on a different server, check out MessagingService.
(That is, throw MessagingService:PublishAsync("TextLabelUpdate", newMessage) in your data update code and listen for messages.)