Group Programming: an Object-Oriented Approach