Assistant (WIP)

Don't merge.

Since this is such a huge part of the system, I'm putting up this PR to receive JP's comments in advance.
should we leave all of these `:through` dependencies out until we know we really need them?