Tidied up the fake data generator (refactored the generic stuff / hidden a bunch of mthods)