Use share() to subscribe twice to subject
Remove subject as it is not needed
Use resource to load result history
Move observable chains to a separate service
Use high order function to display alerts
Subscribe directly to observables