simplify, exercises now take "processors" and use callbacks
added setup function list
made exercise more generic, extracted 'execute' processor