Native declarative way to create a custom webcomponent