AspectS is an approach to general-purpose aspect-oriented programming in the Squeak/Smalltalk environment. It extends the Smalltalk metaobject protocol to accommodate the aspect modularity mechanism. Weaving and unweaving in AspectS happens dynamically at runtime, on-demand, employing metaobject composition. Instead of introducing new language constructs, AspectS utilizes the expressiveness of Smalltalk itself as a pointcut language.