Add callback functions to change the name/colour/value for each item.

This PR depends on #3 and #4. Once those both are merged I'll update this to show just the diff of the last 3 commits.