Refactoring Application and renaming to quotes
Using interfaces instead of generics