Factored out new base module.  Note: package names have *not* been changed (might do subsequently).