code review update

- add some comments on implementing subclass
- use accessors not instance variables
- poll instead of just sleeping