P2PConnection refactored

But still feels dirty