Use G_DEFINE_WITH_PRIVATE