MediaTree completely rewritten into WebComponent