About circular dependences and dirty compile on blueprints

How can I do to handle, the following case to avoid circular dependences?
My case:
I have an Actor called ScreensController (blueprint) inside them I create some widgets to show the main menu screen widgets, also the same ScreensController have functions to change screens (adding to viewport), back to last screen etc… All its’ok at the moment, that’s is the idea of the controller. However when I’m need to call the ScreenController::ChangeScreen function I need to do this from some widget button OnClicked Event, that have sense. The problem is, When I’m trying to compile, boths blueprints enter on circular dependency always showing the other blueprint as dirty state.
There is something wrong on my concepts? I remember do this on past UE3 UnrealScript without warnings.

Thanks!

I had similar problems when I started using UMG a week or so ago. What I had to do was force myself to be strict: none of my widgets know anything about my actor blueprints. All the buttons then call an event dispatcher, and the parent widget registers with that dispatcher. This way, I can send a button press back up the chain, and the actor that created the root widget handles the button press. It’s pretty messy, but it does the job for me.

So I would say use event dispatchers to pass information back up the widget hierarchy to the spawning blueprint, and have that blueprint handle calling into other blueprints. I hope that makes sense!

Thanks =) Now Works!!!