Splitting Target class into a inheritance hierarchy
Better output and removing unused member variable
Further specializing BaseTarget subclasses