Not sure if trolling with this else      if :package: 

Also, really not sure what you're doing with these delegate methods. Why are there two branches for `respondsToSelector`? do you mean to have these two lines separated?