| Сообщение от nerv_   | 
	| Не найдешь. Во-первых, потому, что идеальной библиотеки не существует; во-вторых, потому, что стандарт веб-компонент (насколько мне известно, могу ошибаться) в данный момент находится в стадии черновика. Тем не менее есть проект polymer, есть x-tags. 
 Мне почему то кажется, что тебя заклинило на слове "делегирование"
  
 Если уж взялся писать на яваскрипте, будь любезен, пиши на нем так, как принято в яваскрипте. Глаза режет:
 
 Как по мне - здесь нечего обсуждать.
 
 
 За время "эволюции" веба разработчики всячески старались их разделить, а ты "запихать" хочешь
  Удачи) | 
	
По поводу заклинивания, признаю, есть немного, мне не хватило знания терминологии.
По "эволюции" веба, 
polymer как раз и "запихали" все 3 составляющие (CSS,HTML,Javascript) в один файл, который подгружается с помощью HTMLImports (HTMLImports не поддерживаются браузерами, кроме хрома). Идея хорошая, но очень "тяжелая".
Про резь в глазах, не совсем понял. Я просто не очень люблю 
CamelCase, а само название метода 
on_click_button_close уже несет информацию и легко читается, считаю главным придерживаться выбранного стиля во всем проекте.