I thought the `unknown` is better:

If we add type parameter `TMessage ` into `editorService`, We should also add the type parameter into `Project` and etc. Too many changes.

And we are not really care about the type of message in `editorService`. We just forward session into pluin.

And the `handlers` or `addProtocolHandler` does not have `TMessage ` too. Thay are raw string.