alter the role? method to instead take a block to evaluate the calling object
rearrange method visibilty for context
test the private context method on surrounded objects