Added comments, another use case, and changed scope of methods to increase information hiding