Breaking down the network class in network::listen and network::server defined types to allow multiple declaration of those. beware, that breaks compatibility.