Add a ResultFactory to easily create ResultInterface instances

ping @Baachi, @toin0u
see #181

WDYT?