Move obsolete code of place
Add a function to clone every element's children
Remove obsolete code
More pattern implementation

Add an event for requesting a painter instead of doing
it directly by a function