Refactoring to Web Components

Web components / custom elements are an easy way to create a modular architecture in vanilla js