Refactored Crypto and UI Updating fixes #7

Got rid of the atrocious nesting in crypto.
Changed the UI event to only be called every percent increase. This way
we aren't wasting calls... improves performance by ~600%.

Added completion message that displays the time taken for crypto.