Does Loose Coupling Always Result in Code Duplication?