It may be nicer to pass the Settings in the constructor