Learning OO programming by attempting to apply the principles to a problem to which they are ill-suited seems somewhat dubious. Part of the skill in OO (and, in fact, any technique) is knowing when not to use it.