The NetworkState monitor handles tracking the usage of a NetworkModule. The up method is used to signal that a client needs to use the module and the down method is used to signal that it is no longer needed.
The ProxyingNetworkServiceProvider makes it easy to proxy a network interface and expose it as a provided service. The service can then be used across process boundaries, which makes it possible to run network drivers separate from the rest of the system.