public KeyValuePair<Side, Pair> GetStatement(Pair currentState)
 {
     if (!table.ContainsKey(currentState))
         throw new KeyNotFoundException("TurmiteRule()::GetStatement(): Corrupted key was given");
     return table[currentState];
 }
 public void AddStatement(Pair beginState, Side side, Pair nextState)
 {
     table.Add(beginState, new KeyValuePair<Side, Pair>(side, nextState));
 }