Changed Factory from singleton into heirarchy, fixed viscosity bug, refactored magic numbers in UserInput