Abstracting message parser