Diverse volte, mi sono trovato in una situazione in cui voglio aggiungere funzionalità a una relazione esistente   Observer    -   Observable   . 
 Ad esempio, supponiamo di avere una classe   Observable    chiamata   PriceFeed   , le cui istanze sono create da una varietà di   PriceSources   .    Observers    su questo viene notificato ogni volta che il sottostante   PriceSource    aggiorna   PriceFeed    con un nuovo prezzo. 
 Ora voglio aggiungere una funzione che consente di impostare una sovrascrittura (temporanea) su   PriceFeed   . Il   PriceSource    dovrebbe ancora aggiornare i prezzi su   PriceFeed   , ma fino a quando viene impostato l'override, ogni volta che un consumatore chiede   PriceFeed    per il suo valore corrente, dovrebbe ottenere l'override. 
 Il modo in cui l'ho fatto è stato introdurre un nuovo   OverrideablePriceFeed    che sia esso stesso un   Observer    e un   Observable   , e che decori il   PriceFeed    effettivo. La sua implementazione di   .getPrice()    è direttamente da Chain of Responsibility, ma che ne è della gestione degli eventi Observable? Quando un override è impostato o deselezionato, dovrebbe rilasciare il proprio evento a   Observers   , così come inoltrare eventi dal   PriceFeed    sottostante. 
Penso che sia una specie di osservatore incatenato, ed ero curioso di sapere se esiste una descrizione più definitiva di un modello simile.