Swift: split into GItem/GSource and GPackage/GSystem