Makes the codelist API more generic to deal with 1.05 #216

This really needs checking properly!