Decoupling the MTMV from the materialization context. Change MaterializationContext to abstract which is the materialization desc. It now has AsyncMaterializationContext sub class, can also has other type of MaterializationContext such as SyncMaterializationContext and so on.