The registry allows stacks to name themselves to the core, so that a networking stack can be selected at startup.
This defines adapter classes for converting from the tcp<> class to the abstractions that applications use. Still very inefficient due to impedance mismatch between the data types used.