Custom Elements, one of the most important spec under web components umbrella, enables web developer to define new types of HTMLElement, which can have it’s own markup(HTML), behavior(JS) and style(CSS). These newly created custom HTML tags can be reused as complex components in multiple websites and web apps.