avoid stale configuration

a bunch of `private final` values had to be replaced with private
methods, this is because the configuration could change after a PR is
made, but without this change each PR would still be using the
configuration as it existed when it was created.