Thank you for the answer, Nick.
I’m currently keeping the design in UMG and the logic in UUserWidget derivative class, just as you said. However, I don’t use the Event Graph at all, so there is no point in declaring any UFUNCTIONs in my case. While I understand that your primary focus for UMG is to make it work with BP, it is very sad that you completely ignore cases, when someone wants to write logic in C++ and still use the UMG for design.
I’ve used to work in Unity before, and there wasn’t any problems with using their new GUI designer and still write logic in C#. It is very sad that UE is inferior to Unity in that matter…