Option for lazy evaluation st.download_button

Hi there st team!

I want to give the user an option to download an image via st.download_button, but only render the image in case the button is clicked (expensive render). I was thinking there should be some option so that only clicking the button evaluates what would be downloaded, e.g.

st.download_button(label="Download image", data=render_function, file_name="image.png", lazy=True)

The only workaround I can think off right now is sticking the download-button inside a regular button (obviously super ugly), or a custom download button implementation. Any other ideas?