Create TSC branch, set deployment target to 10.7
Fix a missed target setting.
Change factory method to return an id instead of specific class instance.
Merge branch 'TSC'