Yea, the whole define thing, as well as using can.route.map are fairly new to me. I was thinking that the getter would return the resolved args, and the setter would accept a query, and tie into the async setter.
What kind of approach would you recommend for something like this where you want to abstract away the deferred?