A flexible binary tree that can be easily extended in order to support user data types. Also includes a visualization.