Fix Twitter crossposting (#2758). Refactor some service posting related code.