Add an IMaterial class to define materials