Interface call and message appear to be identical.
Precisely, what is the difference and when should they be used?