Separating View from Data, Plugins, Modularity

Hi,
How modular is Discourse internally? Will it easily be possible to develop a plugin which uses a different approach to discussion for a certain category?
Does Discourse use the MVVM principle or something similar, so that a discussion tree (or network) can be displayed in a different manner than it is now?

Basic example: Show Discussion as a tree rather than a list (this is not what I want to do)

If not, is it planned to achieve more modularity?

هذه الأسئلة عامة جداً. يمكنك العثور على إجابة سؤالك “إلى أي مدى يمكن تخصيصه” من خلال تصفح دليل Customization > Plugin ورؤية ما قام به الآخرون. ثم اطّلع على أدلة المبتدئين التالية:

Read the Source, Luke

https://github.com/discourse/discourse

PS: Discourse is an Ember app powered by a Rest API, so yes.