Add ability to enter new collection UDFs and edit saved collection UDFs

I think this should probably have `render` in the name, because it's used in the same context as code that processes data.