A Methodology for Implementing Highly Concurrent Data Objects