Handling attributes and event listeners: Let's code a virtual DOM! #4