Added callback properties for components so that consumers don't need to conform to a particular data model.