Refactoring: Added abstract Fluid class to reduce code repetition,
increase modularity (is that the right word?) and allow further
Refractoring.