bit of a global nit: here.

Why is menu in lib as opposed to client? Also, where do we use deps on the server?  It seems to me all of this can reasonably go into client, or client/lib if preferred.