Right now we are calling a custom method of what we call the "DispatchDelegate" - serves the same role as the DispatchAsync class, with an extra method to take the "caller". Then in our Base Presenter, we count each 'started' RPC and each ended RPC until we get to zero. Well, that's the simplest explanation for now. Having some issues upgrading from 0.6 to 1.0 that may be related to this customization - that's part of why I reached out to see if there might be an different/better way that someone else has tried.
For rendering we are using a PhantomJS based solution - though this is still a work in progress.