rework of basic api to allow indicators to be attached to streams and allow indicators to be used inside other indicators while sharing data structures