1. A method of reducing the number of times a tree data structure is rebalanced comprising the steps of: (I) allowing a sub-tree of the tree data structure to grow until a number of unbalanced levels reaches a threshold greater than one; and (II) rebalancing the tree data structure when the threshold is reached by: (a) developing first and second sets of rebalancing operation tasks, the first set of operation tasks operable to effect a first set of element state transitions and the second set of operation tasks operable to effect a second set of element state transitions, the first and second set of element state transition being distinct one from the other; (b) performing the first set of operation tasks in a first phase; and (c) performing the second set of operation tasks in a second phase.