The qualities of coupling and cohesion have long governed software engineering. Aspect-oriented software development (AOSD) provides a new weapon in the fight against improper coupling. For example, many OO design patterns succumb to aspect-oriented replacement when analyzed for their dependencies in terms of abstractness and stability. Component-based development (CBD) is another tool for dependency management at a larger scale. I propose combining the best of AOSD and CBD techniques for software module dependency management. 2.