Por lo poco que probé, he visto que funciona y te felicito por ello, pero no me agrada como manejas los atributos de la clase. Hay muchos atributos innecesarios y que a mí parecer y según lo que he estudiado, rompen el esquema de una programación orientada a objetos pura.