Refactor the MCContext so that it's an ivar instead of a local which is passed