Mass refactor and testing coverage. Improved example with comments. Updated npm ignore