I added abstract class, as there are also Aztec, Aztec mesa and MaxiCode barcodes which may also extend this class, but I'm not implementing them now.