Observer and Observer with Mediator Patterns