Only wrap functions that are calling ._super

This pull request fixes a big performance issue wrapping methods every time instead of just the ones that are calling `._super`.