testability and loose coupling