It all seems nice a tidy, but the fact that the vector generated by the cross product isn't the natural result of vector multiplication leaves a sort of smudge on the vectors created by cross products: they transform differently under reflections. This creates the whole confusion over pseudovectors. The product of vectors is naturally a plane, and planes don't switch sign under reflection, while vectors do. For more details see this answer by ACuriousMindanswer by ACuriousMind to another question.