Add a first prototype of RCL

The code still needs to separate the dynamic types
to an abstract interface. For now the ChatMsg and
its functions are being used for testing purposes.