Actually, I got a bunch of ideas...
- Every materials is a material layer
-+ Every material layers have its own configuration: Value, Application (All, Vertex Group, Mask)
-+ Every materials contain shader layers
--+ Every shader layers contain configuration: Shader Type, -shader conf-
--+ Every shader layers contain modifier (optional)
So, based on those ideas, we must create a custom panel - like the User Preference Panel