This is probably way too much trouble to fix, but the inconsistency between `refreshContentPreview()` and `refreshContentProfile()` is nagging at me a bit. In the case of the former, we intercept the event, grab the event data, and set it to `contentProfile` before calling `refreshContentPreview()`, which then gets its input by reading `contentProfile`. In the case of the latter, we don't intercept the event. Instead we simply let the event handler parameters flow through to `refreshContentProfile()`. That function gets its input as a direct parameter and sets `contentProfile` to that value.

Do you thing it's worth making these two functions consistent?