Depends a bit on what the actual use case and UI is. Relating the NPE objects to a session object could be on option but a better one might be to use a NPE helper object. If you call the MF from a page for example use this helper as a context dataview, that way when you call the MF from a widget or button you can associate the other NPE objects to and reuse it the next time you call the MF.
I don’t know your use case, but if you have many calls with non-persistent data, you need to process so quick as possible.
What about passing the raw data directly to client without any domain mapping? Your front-end need to show it directly.