This would be useful to authors of server implementations if they want to share the frames model and don't want to re-implement the encoder/decoder. The client session management can definitely be separated from this core.