basic CAP support
better cap.req(), added listeners