decoupling
refactoring for requirejs
refactoring for requirejs