@POST
    @Path("/Add")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response Add (UserResponse data)
    {
        if (data == null
         || data.password == null
         || data.username == null)
            return Response
                     .status(400) // Bad request
                     .entity(new ErrorResponse("No data supplied!"))
                     .build();

        try
        {
            UserInterface.getInstance().addUser(data.username, data.password);
            return Response
                     .status(200)
                     .entity(new MessageResponse("User successfully created."))
                     .build();
        }
        catch (NoSuchAlgorithmException e)
        {   // TODO: Log
            String error = "Not able to use SHA-512!";
            System.err.println(error);
            return Response.status(501).entity(new ErrorResponse(error)).build();
        }
        catch (UnknownHostException e)
        {   // TODO: Log
            String error = "Not able to connect to MongoDB!\n" + e.getMessage();
            System.err.println(error);
            return Response.status(503).entity(new ErrorResponse(error)).build();
        }
        catch (MongoTimeoutException e)
        {   // TODO: Log
            String error = "Connection to database timed out!";
            System.err.println(error);
            return Response.status(503).entity(new ErrorResponse(error)).build();
        }
        catch (UserExistanceException e)
        {   // TODO: Log
            String error = "User already exists";
            System.err.println(error);
            return Response.status(409).entity(new ErrorResponse(error)).build();
        }
    }