Passing IContext removes one constructor argument.
Minor refactoring.