-record(ws_state, { on_message :: fun((any(), glupbit@websocket@connection:ws_message()) -> any()), user_state :: any() }).