adding onJoin callback to beat race condition on channel join