Andrew,
I am envisaging having a number of sensors connected over Zigbee. Depending on data received from one or more sensors, I want various actions to happen.
For my first attempt I used your xbee-api with an MQTT message broker. Any data received by the zigbee coordinator was published to a suitable topic on MQTT, depending on which device sent the data. Next step was to write some code to subscribe to the relevant topic and then process and act on the message. That way I decouple the message collection from the message processing. However, I soon realised that the more I go down this architectural path the more "plumbing" code I was starting to write.
I did a bit of googling and found that this problem has already been solved, and by cleverer people than me. Spring Integration and Apache Camel are both frameworks for defining loosely coupled integration processes. Both also provide a large library of pre-built connectors (known as "Components" in Camel) that make it easy to interface with all manner of external system.
I have made some pretty good progress with Apache Camel, I have built a basic XBee Component for Camel that collects data from the Zigbee Coordinator using your xbee-api. I need to do a bit of refactoring and a lot more testing, but I'll be happy to share this component when I'm done.
Have you considered publishing your API to the central Maven repository? Both these frameworks rely heavily on Maven and it would certainly make using xbee-api with them much easier.