I like 4 > 2 > 1 > 3.
To keep code simple(less scary) is most important for fluentd plugins.