God now creates a function that returns the element.

This method is nice since it cannot be easily overriden. This forces the
user to use it the way it's meant to be used.

Also, the object instantiated now needs to have addEventListeners() and
removeEventListeners()

Eventually, those method will need to be merged.