The following is a common convention in Tapestry:
<a href="#" jwcid="clear@DirectLink" listener="listener:doClear">clear counter</a>
Looking at this, it seems to me that the default for listener could be calculated; that is, capitalize the component id to "Clear" and prefix with "do".
getContainer().getListeners().getListener("do" + capitalize(getId()));
Of course, for auto-generated ids, this would be a failure (either no listener found, or something more explicit).