feat(desks): add wizard for desk editing

here is a little confusing because I've just copied the old code, and quickly changed what I needed. but actually `_desk` is extended, not `desk`, and we need response data in `desk`