The way I'm implementing 2-way communication is more of a hack.. The proper way, and what the current Zwave device tries, is to implement the communication back via events, not commands..
(I'm currently sending SELF a command from SELF, and ignoring it. Sounds useless? Yup. But it's the only way to 'set' state information.)
The main problem with that is that is was never implemented in LMCE properly, hence there's no events that match the criteria.
Ideally, THAT should be fixed before we 'HACK' too many interfaces..
Bulek has posted bug reports in these regards, and I back him totally.
For what it's worth, zwave is a complicated protocol to begin with. (more than Insteon, I would say). and adding 'hacks' to a protocol driver that really is implemented properly, I disagree with.
I'm hoping that the Floorplan Objects, and the HA device objects are updated soon to support more events.. This will GREATLY simplify all HA drivers.