     )
     @tableverse.connect( @dictionary, 'oghma.thingy.table' )
     null
+
+  # Create a new user.
+  #
+  # See {#login_phase()}.
+  #
+  # @param [object] userinfo User info.
+  # @option userinfo [string] username User name.
+  # @option userinfo [string] primary Primary color.
+  # @option userinfo [string] secondary Seconary color.
+  # @return [null] null
+  create_user: ( userinfo ) ->
+    if @userverse.user.with_name( userinfo.name ).length > 0
+      # TODO: Do something better with errors.
+      alert( "User #{userinfo.name} already exists." )
+      false
+    else
+      @userverse.create( 'user', userinfo )
+      true
 
   # Send verbose message to the console.
   #

        onLogin: ( user ) ->
          login.close()
          create.close()
          alert( "Login #{user}" )
        onCreate: ->
          login.hide()
          create.show()

  # Login Phase.
  #
  # Display Login window.  Also handles user creation logic.
  #
  # @return [null] null
  login_phase: ->
    @userverse.connect( @dictionary, 'oghma.thingy.user', =>
      create = Ext.create( 'Oghma.Ext.EditObject',
        object:
          name:      ''
          primary:   'FF0000'
          secondary: '00FF00'
        types:
          primary:   'color'
          secondary: 'color'
        title: 'Create User'
        onSave: ( userinfo ) =>
          if @create_user( userinfo )
            login.close()
            create.close()
            @login_user( userinfo.Name )
        onCancel: ->
          create.hide()
          login.show()
