public void SetAttribute(ICodeKey key, object val) { attributes[key] = val; }
public object GetAttribute(ICodeKey key) { object val = null; attributes.TryGetValue(key, out val); return val; }