Object-oriented reuse, concurrency and distribution