only add components if not already added

This fixes the bug that MediaPlayer does not jump to clicked position on the second click (and maybe also other bugs)