Concurrency in Object-Oriented Systems