Wrap the split modules in objects, so we can avoid the attr/value ordering problem