In the UItem class we could remove the 'data' field and work with the MaterialData api.
To create a more update-resilient API we could even auto-generate the MaterialData parsers trough Java reflections.
We still need to study benefits and difficulty