We have a retain cycle here. Since we are not specifying a lifetime qualifier for the `delegate` ivar, it is defaulting to `strong`. So when we set ourself as the delegate, we are retaining ourself.