New way to deal with widget events

- widgets return id instead of hit
- use ids to connect popups
- use ids to detect states i.e. mgClicked(id)
- more testing with slider on how to implement custom widgets