protected void addEventIn(string eventInName, Field field) {
     eventIns[eventInName] = field;
 }
 protected void addEventOut(string eventOutName, Field field) {
     eventOuts[eventOutName] = field;
 }
 protected void addField(string fieldName, Field field) {
     //TODO: another dictionary.
     exposedFields[fieldName] = field;
 }
 protected void addExposedField(string exposedFieldName, Field field) {
     exposedFields[exposedFieldName] = field;
 }
 public void PushNodeContainer(Field nodeContainer) {
     nodeContainers.Push(nodeContainer);
 }
 public new void AddField(string fieldName, Field field) {
     base.addField(fieldName, field);
 }
 public new void AddExposedField(string exposedFieldName, Field field) {
     base.addExposedField(exposedFieldName, field);
 }
 public new void addEventOut(string eventOutName, Field field) {
     base.addEventOut(eventOutName, field);
 }
 public new void addEventIn(string eventInName, Field field) {
     base.addEventIn(eventInName, field);
 }