implement factory_snapshottable

issue https://progress.opensuse.org/issues/2552