Use apply() on companion objects instead of case classes
Split Transport into 9 subprojects