Merge pull request #20 from ZooTypers/master

getting all the new files before i start working on it
Merge pull request #112 from dyxliang/master

Updating unit tests.
Merge pull request #21 from ZooTypers/master

getting new updates
Merge pull request #113 from dyxliang/master

Pull
doing set changes before notifying observers
Merge pull request #114 from nhlien93/master

set changes before notifying observers
Merge pull request #8 from ZooTypers/master

Getting updates.