run () {
    throw new Error('You must implement the `run` method.')
  }
Runs a command returning a cancellable promise.
`CinematicRunner` waits until this Promise has resolved or rejected before moving on.

This promise should be a `bluebird` promise and implement a `cancel` method.
If you need cleanup behavior in the case of cancellation, you should also override the
`cancel` method.

@returns {Promise} - The promise that signifies command completion.