I should use `GSharedPointer` instead (will change)