So, for instance, this is the behaviour as is. 

``` objc
    id token = [TestWithCustomForwardInvocation aspect_hookSelector:@selector(test) withOptions:AspectPositionInstead usingBlock:^(__unsafe_unretained id object, NSArray *arguments) {
        // Custom hook
    } error:NULL];
    TestWithCustomForwardInvocation *testClass = [TestWithCustomForwardInvocation new];

    [testClass test]; // calls custom hook

    [token remove]; // removes from class, but not from existing instances

    [testClass test]; // continues to call custom hook
```

I don't have any idea how we could change that except to keep track of every instance that is allocated so we can remove those hooks when the class hook is removed.