Refactor project structure and clean up datasource communication.