Decoupled URL class via Event system