The way the callbacks property is defined now, this is valid:
callbacks:
callbacks1:
"{myamazingexpressions}":
PIO1:...
callbacks2:
"{myamazingexpressions}":
PIO2:...
This means that you can define two different Callback Objects, each one having the same expression as a key, pointing to a different POI. That doesn't seem to make sense.
Perhaps callbacks should just be a Callback Object?