Is it necessary to declare this class as *public*? Also this class does not follow the [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) for this project..