Final refactor of Comparable implementation