Port to whiskchat (incorporates multiple commits)