Callback on gobject.idle rather than same thread

This will only work for the gui, but callbacks only really make
sense for us right now in the gui