NSObject category to intercept methods