Service: only emit groupChanged if something actually changed