Please don't use eval. Pass callbacks, not code