Added ConsumerContext factory; moved around classes; added source scanner