모듈은 다음과 같이 사용된다.
var preserve = MyApp.wildlifePreserveSimulator(realAnimalMaker); preserve.addAnimal(gorilla, female);
이 모듈은 객체 리터럴을 반환하나 animalMaker 같은 의존성을 외부 함수에 주입하여 리터럴에서 참조하게 만들 수도 있다.
다른 모듈에 주입할 수 있어 확장성이 좋다. 옛 버전 모듈을 새 버전 모듈에 주입하여 원하는 대로 래핑, 표출, 확장 등을 꾀할 수 있다. 1장에서 배운 개방/폐쇄 원칙이 최우선 관심사라면 모듈만한 것도 또 없다.
먼저 MyApp.wildlifePreserveSimulator에 after 어드바이스를 넣어 반환된 객체에 애스팩트(2장 참고)를 적용하는 방법도 있다. 이 어드바이스는 반환된 리터럴을 쥐고 있다가 필요에 따라 이 리터럴을 다른 애스팩트로 수정하게 될 것이다.