Building a valueObject

Is it possible for us to create a valueObject? If not, is there a different way I can accomplish the following? —

I have a bunch of value formatting routines that get called when the encoders change values.
They return the value formatted in various ways (a percentage, a string with extra characters, divided by 50, etc).

I would love to be able to reuse any of those formatting routines from a different control. However, I often use the valueObject inside the formatting code to access things like the control ID, overlay ID, names, etc.

So, can I create enough of a valueObject that can be successfully passed to these value formatting routines?