adding date generator as a reference instead of date
creating two implementations for date generator, one for testing and
other for auto date generation
re factoring and cleaning up code
re factoring test for changes to application factory and date generator