Tools to allow a generic domain to be reused in multiple software project levels