Added callback properties for components so that consumers don't need to...

... conform to a particular data model.