Add __clone to clonable items (hint) and move factory to separate namespace