Shouldn't the "mode" be configurable for each call to select something? I don't see why it's an attribute.