Broke out the definitions for types into their own file