Beginning polymorphic design of P2P library.