Refactor add*() methods in Workflow

addFilter(), addConverter() and addWriter() share a lot of code and
they should use a addElement() method that contains the shared code