The generic web component is done completely by metaprogramming in dartling.