make domainlist forwardable and enumerable, clean up tests

Make internal methods private also