Make Work<TInput> implement IRegisteredWork<TInput>

Code shared with other Work classes in WorkObservables<TInput> is now
used also by Work<TInput>.