Serialises the object, by default serialises anything
        that isn't prefixed with __, isn't in the blacklist, and isn't
        callable.

def to_dict(cls, obj):
        '''Serialises the object, by default serialises anything
        that isn't prefixed with __, isn't in the blacklist, and isn't
        callable.
        '''
        return {
            k: getattr(obj, k)
            for k in dir(obj)
            if cls.serialisable(k, obj)
        }