To improve the readability of the code below I would provide two different implementations for scenario and event based in two different hazard getter classes.