Cleanup tracking interfaces, reduced number of factory classes to eliminate varargs confusion

Cleanup tracking interfaces, reduced number of factory classes to
eliminate varargs confusion