As I was clearing up the description, a potential third option (Redesigned java class) dawned on me. So I am going to investigate it further as it looks promising with no model impact.
Let me know if this is not a good option based on the use case and if you see any issues with it.