Does naturality imply isomorphism invariance for characteristic classes? A property of characteristic classes $c$ is that $c(f^* E) = f^* c(E)$ where $E\to M$ is a bundle and $f^* E$ is the pullback of $E$ by some map $f: N\to M$.  In Bott and Tu it is stated (for Chern classes) that this implies that if $E \simeq F$ then $c(E) = c(F)$.  However I am unable to see why this is true (from the naturality fact alone-- I know why its true from the construction of Chern classes).  In other texts they get around this by defining characteristic classes to be defined on equivalence classes of bundles or use a more broader definition of naturality that includes bundle maps. Hence I am wondering how straightforward this statement in Bott and Tu really is.
I know from all the constructions of characteristic classes that this is a really pedantic question (obviously its isomorphism invariant!), but I am just curious.
 A: This is probably just an honest mistake... I think the usual naturality condition says that if you have a bundle homomorphism $E \rightarrow F$ covering a map of the bases, $f:B \rightarrow D$, that is an isomorphism on fibers, then $c(E) = f^*c(F)$. At least that's what it is for the Stiefel-Whitney classes. Of course, this definition of naturality gives, obviously, that the classes are isomorphism invariant.
It doesn't seem like the definition given in Bott and Tu will work (even though, in their proof, they use something stronger anyway since they use "functorial properties" of the Chern class, and any such property is an isomorphism invariant.) 
Here's a sort of heuristic argument... Suppose we had decided to work in the category of pointed spaces, and we have a gadget $d$ that assigns, to each vector bundle, the fiber at the distinguished point of the base space. Given a map $f: X \rightarrow Y$, with a bundle over $Y$, define the pullback $f^*d(E)$ to be $d(f^*E)$. Then this gadget satisfies the naturality condition, but it is not an isomorphism invariant for very silly reasons: the actual sets $d(E)$ and $d(F)$ might differ in superficial ways like the names of their elements.
Of course, I could also be missing some clever way to avoid this issue... One reason to hold onto hope is that, in my silly example, $d$ was assigning sets that lived inside a specific bundle, and could be changed if we chose a different bundle... In the Chern class case, we are assigning elements of the cohomology of the base space, and the cohomology of the base space doesn't really care about what particular bundle we have sitting over it. 
