Better message component handling