Convert to ES6 Fat Arrow syntax

Notes:
* No Parens when exactly one arg
* Parents required when 0 or 2+ args
* .bind(this) not required
Converted to use ES6 promise syntax