Changed message handling to use ServiceMessage when sending and receiving