better way to handle status change updates. works with the socket as well