challenges: fixed joining / leaving groups. Back to the old method of
Group.query({type:'public'}), etc - since ngResource can only work with
top-level objects. This approach is bad performance (two calls), I'll
fix when I can think of a better way of organizing groups requested at
GET /groups