Made the CallbackValue class internal as there's no real reason for it to be public