Trying to make the dynamic record api and JS more coherent.