Added another form for injection of config and made the config parameter private (from protected), this means name changes on some methods - deprecated errors will be triggered where these are used incorrectly.