Fleshing out temp directory, opf creation, dependency injection