chooser: use G_DEFINE_WITH_PRIVATE