Big refactoring and fixing tests.
More tests and refactoring on deal and finders.