Move away from the 'compile step' model to a more add/remove approach