factory by default can construct an object from a plain
Changed factory api, mostly extended;
Added (broken!) support for deleting elements of an array;