PRD-4638: Using ints for a enum makes my brain hurt.
PRD-4638: Separate the watermark calculation from the other elements so that no overlap exists here.