I use the following approach in order to refresh `Details` page after a new record added. I also need to refresh after updating a record as well.

***EventProxyService***

```
export class EventProxyService {
    private eventTracker = new BehaviorSubject<any>();

    getEvent(): Observable<any> {
        return this.eventTracker.asObservable();
    }

    setEvent(param: any): void {
        this.eventTracker.next(param);
    }
}

```

***CreateComponent:***

```
export class CreateComponent implements OnInit {

    constructor(private eventProxyService: EventProxyService) { }

    create(param: any): void {
        //other staff related to creating record

        this.eventProxyService.setEvent(param);
    }
}

```

***DetailsComponent:***

```
export class DetailsComponent implements OnInit {

    subscription;

    constructor(private eventProxyService: EventProxyService) { }

    ngOnInit() {
        this.subscription = this.eventProxyService.getEvent().subscribe((param: any) => {
            this.refresh(param);
        );
    }

    refresh(param) {
        this.record = param; //update record via new one passed from service
    }

    ngOnDestroy(): void {
        this.subscription.unsubscribe();
    }
}

```

The approach works well but I am a little bit confused regarding to the following issues:

**1)** Because I also call `this.eventProxyService.setEvent(param);` in `update()` method like in `create()` method, would it be good idea to call this in my service level instead of component level?

**2)** Is there anything wrong when firing next() method in `CreateComponent` above?