CHANGE: class SelectionLayer is used instead of class Selection.
Class Selection and it's Derivatives are used only to create the selection and pass it to Canvas. Then they are deleted. This is somehow familiar to the Figure classes.