OO design behind reverse compliment functionality