"use strict";

var yeoman = require("yeoman-generator");
var incSay = require("incubator-say");
var util   = require("util");
var path   = require("path");

var IncubatorGenerator = module.exports = function IncubatorGenerator (args) {
	yeoman.generators.Base.apply(this, arguments);

	this.argument("appname", { type : String, required : false });
	this.appname = this.appname || path.basename(process.cwd());
	this.appname = this._.camelize(this._.slugify(this._.humanize(this.appname)));

	this.option("skip-welcome-message", {
		desc     : "Do not print out the welcome message.",
		type     : Boolean,
		defaults : true
	});

	this.option("skip-core", {
		desc     : "Skip core installation.",
		type     : Boolean,
		defaults : true
	});

	if (!this.options["skip-welcome-message"]) {
		this.log(incSay("Welcome to the Incubator Generator!"));
		this.log("By default I will create a Gruntfile and all dotfiles required to work");
		this.log("with the Bandwidth Incubator build pipeline.");
		this.log();
	}

	if (!this.options["skip-core"]) {
		this.invoke("incubator:core", args);
	}
};

util.inherits(IncubatorGenerator, yeoman.generators.Base);
@@ -221,20 +221,16 @@
 erator (
-args
 ) %7B%0A%09yeo
@@ -527,20 +527,16 @@
 %0A%09%09desc 
-    
 : %22Do no
@@ -569,36 +569,32 @@
 ssage.%22,%0A%09%09type 
-    
 : Boolean,%0A%09%09def
@@ -586,35 +586,16 @@
  Boolean
-,%0A%09%09defaults : true
 %0A%09%7D);%0A%0A%09
@@ -628,20 +628,16 @@
 %0A%09%09desc 
-    
 : %22Skip 
@@ -664,20 +664,16 @@
 %0A%09%09type 
-    
 : Boolea
@@ -677,33 +677,140 @@
 lean
-,
 %0A%09
-%09defaults : true%0A%09%7D);%0A
+%7D);%0A%7D;%0A%0Autil.inherits(IncubatorGenerator, yeoman.generators.Base);%0A%0AIncubatorGenerator.prototype.greeting = function greeting () %7B
 %0A%09if
@@ -1074,16 +1074,86 @@
 g();%0A%09%7D%0A
+%7D;%0A%0AIncubatorGenerator.prototype.components = function components () %7B
 %0A%09if (!t
@@ -1212,16 +1212,21 @@
 :core%22, 
+this.
 args);%0A%09
@@ -1233,64 +1233,4 @@
 %7D%0A%7D;
-%0A%0Autil.inherits(IncubatorGenerator, yeoman.generators.Base);

Move greeting and invocation of sub generators to methods