Decoupling components; enabling TDD