Lots of work towards the actual chat interface.

Signed-off-by: Pamelloes <pamelloes@gmail.com>