Context for a rule can be injected via dependency injection, so a
Rule can use that dependent on object (or mock) in the method.
Any context should be provided at rule creation time via dependency
injection.
The context provided might know how to get additional information at
execution time from objects it knows about.
Context provided can also be a mock (for unittesting)