@POST
    @Path("/Remove")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response Remove (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
        {
            // Authenticate to remove user
            if (!UserInterface.getInstance().authenticateUser(data.username, data.password))
                return Response
                         .status(401)
                         .entity(new ErrorResponse("Failed to authenticate! Perhaps user already removed?"))
                         .build(); // Unauthorised

            UserInterface.getInstance().delUser(data.username);
            return Response
                     .status(200)
                     .entity(new MessageResponse("User successfully removed."))
                     .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 does not exists!";
            System.err.println(error);
            return Response.status(409).entity(new ErrorResponse(error)).build();
        }
    }