Decorator pattern. Cleanup jakubpolak.abstractfactory package.