these changes may affect behaviour in places where i don't think we've logged any warnings, if effectors/sensors/config keys are defined as non-static fields.

happy to go with it for now as i don't think there are any such cases but equally it might be better to just use a private `toString(Class, Object optionalEntity)` which simply gives the class name, rather than calling the `optionalEntity.toString()` (could also move the `optionalEntity` null check to this method), and also to introduce a deprecation warning if `f.get(optionalEntity) != f.get(null)`