Class system for lua with inheritance, interfaces and traits