Refactor all calendar code

Signed-off-by: Jay Rivers <JRivers@printplace.com>