Moved the definition of zone properties to a separate module
Moved the element-related functionality to an independent module
Moved the 'watch' module import to the elements module
Modified the elements property setter to watch the positions of all the new elements