Following #30, I think this module could provide just its core feature (support client-side middlewares for a Relay Network Layer) and then provide the built-ins middlewares as separated packages.
It would be relatively straightforward to implement, improve architecture and bundle size.
I can take care of this too @nodkz