seems more appropriate to use a listener instead injecting system services in a view