Move code into an object, rather than having loose methods.
Add sigils to instance variables as appropriate.
Remove now unnecessary @date variable
Mark ALL pseudo returns (clarity and consistentcy)