It is not a good practice  to create new implementation with `imp_implementationWithBlock` and do not use it later. According to the docs unused implementation must be disposed of with `imp_removeBlock`. Alternatively, recursion should not be used and `imp_implementationWithBlock` should be called once.