Change sort representation to class

- changed sort representation from String to class
- modified API's accordingly
- replaced string literals with constants
- cleaned up a lot of mess 
The rule for TODOs is that I should be able to easily locate all of any user's TODOs. So they should all be under the same identifier, either FirstL or your github username.