Для меня вообще те конструкции которые вы привели в начале выглядят странно и извращенно.

Какая вообще постановка задачи? Если изложите проблему уровнем выше (т.е. что за форма, что на ней изображаете, чего хотите добится методом), то возможно родится решение близкое к стандартным.
Кстати, а зачем вызывать cursor().data(), если сам cursor() уже имеет тип Common?