bug fix: new_track() now returns the created instance