Przeniesienie czesci funkcjonalnosci do klasy BaseActivityFunction, dodanie komentarzy, reorganizacja kodu, dodanie klas pomocniczych