`frameURL` wasn't being updated when it was just a variable, but it gets recalculated when it is a function. It seems over-eager, however. `frameURL()` is fired not only when the aspect ratio is changed, but also on mouseenter and mouseleave events for the frame.