WIP: Use explicit object locks instead of synchronized methods.