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

I think this method is too big to have a generic name like `receiveActivityResult`, which only applies how it is called, not what it does.