ABSTRACT: First class messages, which we call message continuations, provide object-oriented concurrent programming languages with extensibility in modeling and programming communication schemes such as asynchronous communication, multicasting, sophisticated synchronization constraints, inter-object synchronization, concurrency control, resource management, and so on. In spite of its powerful extensibility, the framework is sound in that the framework guarantees that no program can destroy the semantics of the built-in communication primitives. This good property was obtained by categorization of message continuations and careful design of the primitive operations on message continuations.