/************************************************************************************
*
* module AuraMod
*
* Creator
* -----------------------
*
* static method register takes UnitIndex source, real auraRange returns nothing
*
* Interface
* -----------------------
*
* private static constant boolean AURA_STACKS
* (required) - Does the aura stack?
*
* private static constant real AURA_INTERVAL
* (required) - How often to run the aura
*
* private static method getLevel takes UnitIndex sourceId returns integer
* (required) - Returns the level of the aura on the unit
*
* private static method onLevel takes UnitIndex source, integer level returns nothing
* (optional) - Runs when aura levels up
*
* private static method getRange takes UnitIndex source, integer level returns real
* (required) - Should return the range of the aura
*
* private method onEndEffect takes UnitIndex source, UnitIndex affected, integer level returns nothing
* (optional) - Runs when the aura effect ends (aura no longer on unit)
*
* private method onEffect takes UnitIndex source, UnitIndex affected, integer level returns nothing
* (optional) - Runs when aura effect starts (aura just went on to unit)
*
* private method onPeriodicEffect takes UnitIndex source, UnitIndex affected, integer level returns nothing
* (optional) - Runs every period of the aura. First run is right after onEffect
*
* private static method absFilter takes UnitIndex source, UnitIndex entering returns boolean
* (optional) - Runs when the unit initially enters in the range of the aura. If this returns false, the
* - unit is ignored as if it doesn't exist and it will never be able to get the aura
*
* private method filter takes UnitIndex source, UnitIndex affected, integer level returns boolean
* (optional) - Runs whenever the aura cycles (every TIMEOUT seconds). This helps determine if the
* - aura is active or not for the unit.
*
* private static method removeBuff takes unit source, unit whichUnit, integer level returns nothing
* (optional) - Runs when the buff icon should be removed from the unit
*
* private static method addBuff takes unit source, unit whichUnit, integer level returns nothing
* (optional) - Runs when the buff icon should be added to the unit
*
************************************************************************************/