Factory method pattern initial implementation

+ Some further improvements for the editor. It's not there yet though .
. .