They don't have to implement all of the spec themselves. Nothing stopping them to leverage the existing base libraries and SDKs to build the functionality for the client.
> or they just wanted to.
Well, ok, but when I see such a strong manifestation of NIH syndrome it really reflects poorly on the project.
In opposition of NIH syndrome, using others work often locks you into the framework of their thinking, which can often be flawed. So to make improvements within the framework, you must think outside of it. Matrix might not be flawed, but it is purpose built for a specific task, a task that likely won't capture all possible use cases of this project. Perhaps it would be the right move to use in the beginning, but once the project matures it may become a limitation.