You're right that quaternions don't work for those. Vec3 is the move IMO. Direction is axis; len is magnitude.