Perhaps this could be exposed as an action signal? There are some FIXMEs about this in the code as well.