If it was me, I think I'd pass the groupid as the constructor argument, and allow empty groups to be created.  That would mean that you'd always be calling addItem() right after creating a group, but it still seems cleaner to me.