change storing location for components
* add stop signal
* change component interface
implement StopSignal