You are right, we should check whether we are trying to preserve observer or right hook.
In my PR 2 I have handled that case. Without it provided test set fails, with it works well.
I think I should extended test set to test new functionality. Would you mind to guide me in that?