Big refactor adding LinearFunction class and making Color Quaternion and Vector a member of it.