Once the problems are resolved, it should however require very little effort to put the network implementations in separate dll's. Now, don't get all upset about this. You might even want to learn it if you don't already know it. The only way around this that I can think of is to create a wrapper class and through it allow networks to be implemented through COM-objects. I however know too little of COM to implement this myself.
Scoundrel handles custom networks through one unique entry point.
This is the TP2PNetworkManagerFactory -class. Changes not only can, but will be made to it. Tick - This is the basic heartbeat of the application, the procededure is called once every second, to allow the network to timeout downloads and searches and whatnot. Always called before a Search or Get command. There are also a bunch of events that need to be triggered at the right times.