Make mappings a callback into the applet rather than data in library.
This will make it much easier for Trip to deal with and modify.