## Conclusion

Lively Kernel, as the Smalltalk-like Web-based development environment, provides an explorative and live development experience based on a JavaScript Morphic framework. 
In this paper, we discussed the problem of providing a similar experience when working with plain HTML elements and how we solved it by using Web Components in live programming experience.

As our key contribution, we showed how we allow developers to modify the source code (both template and class of the HTML element) of Web Components to be changed at run-time: in our approach, we control the instantiation of each Web Component and use the latest template and class for new usages of the Web Component. Existing instances are migrated by replacing the old instance with a new instance. This includes going through the whole initialization code and applying the persisted state, such as attributes, external styles and external child nodes.

Striking the balance in the ongoing self-supportive development of Lively4 between practical usability and a live and explorative programming experience can cause friction, but also provides interesting challenges for future work. 
