[WIP] Refactor chat

Work in progress :exclamation:

Do not merge yet