I start to see where the problem is. You have a lot of places where you extend AbstractConfiguration instead of delegating to a single Configuration instance. It's not hard to fix but I'm wondering about the life cycle of the data in the config.
For example, what is the life time of the map in the config? Is that global data or should it be per thread or per factor or per execution?
