out-source the dependency resolving into a separate class
finally implements and test the injection mechanism