refactored signals, implemented event batching