Executes the given block within the context of the receiver (obj).
In order to set the context, the variable self is set to
obj while the code is executing, giving the code access to
obj’s instance variables. Arguments are passed as block
parameters.