Refactoring; more integration testing; filling in tasks API; huge, ridiculous commit