I have completed the cracking method with command line interface
I implemented a module and where all the helper methods are stored. I am borderline if this is actually helping readability of the code but I felt it is cleaner and helped me get practice with modules.
I used a lot of good enumerables and can speak to why I feel they are best choice. There a few methods longer than 10 lines.
I did not use mocks and stubs but 100% of my code is tested.
while I do not have 40 commits I feel I have used pull requests and commits well. Key features were implemented using branches and code in each commit is concise.