 		}
 
 		public function set color(value:uint):void {
-			for each (var partPlayer:SSSPartPlayer in this.parts) {
+			for each (var partPlayer:SSSPartPlayer in this._partPlayers) {
 				partPlayer.color = value;
 			}
 		}

			if (!hitObject) {
				return null;
			}
			for each (var partPlayer:SSSPartPlayer in this.parts) {
				if (hitObject.parent == partPlayer) {
					return partPlayer;
				}

			this.updateParts();
		}

		private var _partPlayers:Vector.<SSSPartPlayer>;
		public function get partPlayers():Vector.<SSSPartPlayer> {
			return this._partPlayers.concat();
		}

		private var _isPlaying:Boolean = false;
		public function get isPlaying():Boolean {
