removed old cruft from previous interface; changed implementation to create one stream per watch. partial support for new API