Make types its own module
Break model into seperate parts for easier editing
Rename skill model