Concurrency within objects: layered approach