Currently all init arguments are accepted as both positional and keyword arguments. This can cause problems with extending the options. Init arguments for protocols should be updated to accept the ports only as positional, and everything else as keyword-only.