private void Move(Action<int,int,int,int> action, string values) {
string[] positions = values.Split(ValueDelimiter).Select(x => x.Trim('(', ')')).ToArray();
int[] start = positions[0].Split(':').Select(x => Int32.Parse(x)).ToArray();
int[] stop = positions[1].Split(':').Select(x => Int32.Parse(x)).ToArray();
action.Invoke(start[0], start[1], stop[0], stop[1]);
}