I have the following situation: I have a construction that takes an object in a category $\mathcal{C}$ and via some totally noncanonical choices constructs an object in another category $\mathcal{D}$ where different choices result in (noncanonically) isomorphic objects in $\mathcal{D}$.
I also have a second construction where given morphism in $\mathcal{C}$ say $f: X \to Y$, after choosing objects in $\mathcal{D}$ associated to $X$ and $Y$, say $X'$ and $Y'$, I can construct a map $f' : X' \to Y'$.
Is there a way of putting these constructions together and calling it a functor? It seems I would need a new category instead of $\mathcal{D}$ in which the objects are isomorphism classes of objects in $\mathcal{D}$.