Udalo mi sie zrobić całkiem niezły refaktoring, jednak jeszcze jest
trochę pracy.
TODO: Rozdzielić całkowicie obie klasy.