made statusful handler a factory function, make it consistent in
channel-init