Replaced state tranision signals with callbacks