```coffeescript
module.exports = (Impromptu) ->
  @register 'pwd', ->
    process.env.PWD

  @register 'prettyPwd', ->
    cwd = process.env.PWD
    if cwd.indexOf process.env.HOME == 0
      cwd = '~' + cwd.slice process.env.HOME.length
    cwd

  @register 'user', (done) ->
    @exec 'whoami', done

  @register 'host', (done) ->
    @exec 'hostname', done

  @register 'shortHost', (done) ->
    @get 'host', (err, host) ->
      done err, host.split('.', 1)[0]
```

Add modules arg, remove @get, pass generations functions as update property
user
```coffeescript
module.exports = (Impromptu, system) ->
  @register 'pwd',
    update: ->
      process.env.PWD

  @register 'prettyPwd',
    update: ->
      cwd = process.env.PWD
      if cwd.indexOf process.env.HOME == 0
        cwd = '~' + cwd.slice process.env.HOME.length
      cwd

  @register 'user',
    update: (done) ->
      @exec 'whoami', done

  @register 'host',
    update: (done) ->
      @exec 'hostname', done

  @register 'shortHost',
    update: (done) ->
      system.host (err, host) ->
        done err, host.split('.', 1)[0]
```
assistant