Basic friend functionality.
Fix my misunderstandings of the architecture.