Moved all the isVisible stuff out of the Widgets themselves and added voters to take care of it instead.