Added another method to the interface to deal with a source File object rather than an InputStream - not too happy with this but will rework later.