Unfortunately, NetworkImpl cannot be instantiated directly since the "layer" registration is done during creation.
It should, however, enable us to make clear which methods use NetworkImpl functionality, which use Layer functionality, and which use both.