@classmethod
def register_handler(cls, handler, method='GET', headers=None):
    """
        Register a handler within a given method, the default method is get.
        The data structure used to store the handler is a dictionary of arrays, each array
        entry contains the handler tuple (path, callable). It looks like this:
            {"GET": ("/profile", profileHandler), ("/settings", settingsHandler)}
        The registered handler should return 2 values, the response body and status code.
        """
    if not hasattr(cls, 'handlers'):
        cls.handlers = {method: [{'handler': handler, 'headers': headers}]}
    elif method in cls.handlers.keys():
        cls.handlers[method].append({'handler': handler, 'headers': headers})
    else:
        cls.handlers[method] = [{'handler': handler, 'headers': headers}]
