The messaging feature was one the complex thing to build, as it needs a new space in the architecture, also Publisher/Subscriber to send data to respective user when message is sent, and continuos data updates and push notification.
Also, Chat needed to be monitored, so Admin controls were introduced to have some kind of guidance of rules