to make the static FeatureManager visible to all threads in the JVM, it needs to be declared volatile