trying to use the observer pattern,i found that the one object that's an Observer could be Observable(subject) at the same time.is this normal? if so,should it extend oberver and observable at the same time?