Refactor to use genericplus's GenericForeignFileField