MessageListener implementations simplified