Isn't the entire listener about choosing fields? I think the on/off setting is the only thing missing, isn't it? Maybe I'm missing something.