Abstracted the migration and search methods into their own classes