public override void UpdateState(int chainIndex, ICommand[] outputStates) { foreach (var item in outputStates.Where(i => i != null)) { var cmd = item as StringCommand; if (cmd != null) { var cmdType = cmd.CommandValue.Split('|')[0]; switch (cmdType.ToUpper()) { case "RDS": Module.Send(_Data, cmd.CommandValue.Split('|')[1]); break; case "LAUNCHER": var args = cmd.CommandValue.Split('|')[1].Split(','); Module.Launch(_Data, args[0], args[1]); break; } Logging.Info("RDS Value Sent: " + cmd.CommandValue); } } }