 			}
 		}
 		return actions
-	}
-
-	private func stringElement(inValue value: CNValue, member memb: String) -> String? {
-		if let elmval = dictionaryElement(inValue: value, member: memb) {
-			if let imgstr = elmval.stringValue {
-				return imgstr
-			}
-		}
-		return nil
-	}
-
-	private func doubleElement(inValue value: CNValue, member memb: String) -> Double? {
-		if let elmval = dictionaryElement(inValue: value, member: memb) {
-			if let dblval = elmval.doubleValue {
-				return dblval
-			}
-		}
-		return nil
-	}
-
-	private func pointElement(inValue value: CNValue, member memb: String) -> CGPoint? {
-		if let elmval = dictionaryElement(inValue: value, member: memb) {
-			if let ptval = elmval.pointValue {
-				return ptval
-			}
-		}
-		return nil
-	}
-
-	private func dictionaryElement(inValue value: CNValue, member memb: String) -> CNValue? {
-		if let dict = value.dictionaryValue {
-			return dict[memb]
-		} else {
-			return nil
-		}
 	}
 }
 

					alpha alval: Double,
					position posval: CGPoint,
					rotation rotval: Double,
					duration durval: Double) -> CNValue {
		let params: Dictionary<String, CNValue> = [
			ImageFileItem:		CNValue(stringValue: ifile),
			ScaleItem:		CNValue(doubleValue: scaval),
			AlphaItem:		CNValue(doubleValue: alval),
			PositionItem:		CNValue(pointValue: posval),
			RotationItem:		CNValue(doubleValue: rotval),
			DurationItem:		CNValue(doubleValue: durval)
		]
		return CNValue(dictionaryValue: params)
	}

	public override func create(identifier ident: String, value val: CNValue) -> Bool {
		/* Get property */
		guard let imgfile = stringElement(inValue: val, member: KCSpriteViewDatabase.ImageFileItem) else {
			NSLog("No imageFile property in \(#function)")
			return false
		}

		return super.create(identifier: ident, value: val)
	}

	public override func read(identifier ident: String) -> CNNativeValue? {
		return super.read(identifier: ident)
	}

	public override func write(identifier ident: String, value val: CNNativeValue) -> Bool {
		if super.write(identifier: ident, value: val) {
			if let node = mAllNodes[ident] {
				let actions = allocateActions(forNode: node, value: val)
