Accept and return a context.
Use our own class for defining the context.