It seems we have different understanding of the attribute stamping. In my previous comment, I listed three layers of configuring attribute values. 

* via `attributes`: this has the highest priority, it configures attribute value for specific event
* via `attributeValue`: it configures attribute value only by its name
* via `defaultValue`: it configures all attributes listed in `attributes` and has the lowest priority.

The `processValue()` method is something not belonging to any of the above layers. It's a postprocessing step. I do not know if this is needed, or what is the best way to support this (you certainly don't want to override this method in most cases).