Button to Swap/Change Widget?

Is there a way to make a button swap a widget with another of the same size? The only way I can think of is to create another dashboard with all of the same widgets except the one I want swapped and put the new widget there along with a replaced button to return to the original dashboard. I would also like to create a timeout of some sort to auto-return to the original view with the original widget.

After putting some more thought into this, would I have to design a custom widget to do this? Like have 2 widgets in one?

Probably. You could perhaps use ui-bootstrap’s tabs with custom styles to achieve that.