Simple naming strategy to reduce anonymous inner classes and simplyfy core plugin setup
for backward compatibility provide default initialization behavior and refactor testing methods
A StateValueProvider throwing an exception in getValue should not break the StateValueProvider