refs #5326 Provide simpler Widgets API

It's not 100% finished yet. But as some more refactoring is going on it makes it simpler to merge this to Core now and make some more changes later if needed.