The Action API is not only simple, it is very flexible.  It only has one method
allowing it to be ThreadSafe.  Unfortunately, the regular SitemapComponents
do *not* have the same flexibility.  This causes some traumas in that _all_
sitemap components cannot be Threadsafe.
The two stage setup(...)->{action}() is the culperate (sp?).  As long as a component
has one initiating method, and does not maintain state between subsequent method
calls (or manages that state), then you can take advantage of lower overhead because
some of the generators and serializers will be able to be made ThreadSafe.
It makes it rough to have a personalized method like generate()->transform()->serialize()
but we could do the process(...) method name, and take advantage of these optimizations.