separate velocity and acceleration
only add components that are defined
it's all about velocity now
Acceleration takes a function that returns a new Velocity
reindent