Use isEqual instead of direct comparison
Remove strong capture of self