The changes in `product-manager` look good. I like that you mimic'ed all of the behavior of the socket events that we have created. My concern is that we will need all of this same logic for other managers that end up using remote services that are over `http`. I think it would be good if we could fold this logic into the `liApiManager` as another factory method. We would then have factory methods for `sockets` (which is the default now) and one for `http`. Thoughts?