Instead of sending back the itemId and the credential, what do you think about sending back the AGSWebMapBaseMap ? That way, the client doesn't have to create a webmap with the itemid+credential, open it, get the basemap, and then call switchBaseMap. The client can simply use the basemap and call switchBasemap. The work of getting the basemap out of the webmap is done by these VCs (BasemapsCollection and BasemapsList) . Thoughts?