Specification-driven MVVM framework for building rich apps with Ext JS