Header paths, disambiguate startFn.

VS2013 doesn't like two functions with template parameters having the
same name. Since they could, in some bizarre alternate universe, maybe
have the same argument value (even though they're dependent on the same
thing which gives them different values).
Data callback receives non-const value ref.

If you want to change your value in the update callback, that's your
fair business.
Was trying out mutating value in update().

Totally works. Looks weird, but works.
Remove ambiguous empty callback function overloads.

VS2013 can't compile with them around. Having methods with different
names that do the same fundamental thing is too confusing.

Now you need to accept the parameter given to you from the Motion
callbacks.