Dev/#25

#25 
Dosyć gruby commit, dużo pracy
Przejrzyjcie to uważnie bo wiele się tam dzieje
Jak macie jakieś pytania to piszcie w komentarzach do kodu;)
Nazwa faktycznie może nie bardzo oddająca to co dzieje się w funkcji, ale twoja propozycja też do końca tego nie oddaje. To może markUserAccountAsUsed ?