replace IClonable with IStmObject

this requires a typed object where IClonable did not.