move Watch button and download link rendering to a dedicated widget (fixes #31)