<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def poke(exposes):
 """ Default serializer factory. Arguments: exposes (iterable):
 attributes to serialized. Returns: callable: serializer (`poke` routine). """

    def _poke(store, objname, obj, container, visited=None, _stack=None):
        try:
            sub_container = store.newContainer(objname, obj, container)
        except (SystemExit, KeyboardInterrupt):
            raise
        except:
            raise ValueError('generic poke not supported by store')
        #_stack = _add_to_stack(_stack, objname)
        for iobjname in exposes:
            try:
                iobj = getattr(obj, iobjname)
            except AttributeError:
                pass
            else:
                store.poke(iobjname, iobj, sub_container, visited=visited, \
                    _stack=_stack)
    return _poke