Feature/modularised

This is the uber-pull for modularising our build.