refactor Movie.new with dependency injection