store who's connected to who in the model, which results in a rather sizable refactor while we're at it