Started refactoring component types to use static name() method
Work in progress
Updated test library
Finally managed to have a static method for component types return a string without crashing the compiler
Fix all tests