I am not a big fan of pushing all the UI related things into this one class. I understand what you want to achieve. It's just that I think this being in the UI layer it's okay to have the "knowledge" spread out over multiple classes. In the case below we have to import all case classes that we expect data for. In the previous approach we could just parse the incoming JSON and push it on to its handler via a message. 

Although I am cool with giving this approach a try. If we feel it hampers us down the road it's not a big thing to change.