Only run when actually needed, that is when a field to check has changed

Additionally, clean it up so it uses the Config calls instead of calling
statics directly.
Yeah, that code should never be in unit tests anyway. :)