Significant refactoring, moving server info into call result object, to simplify higher level impls