Кequest and resolve dependencies as object

Implements #13 - request and resolve dependencies as object. Improve performance. Introduce strategy for each required input and output object. Updated docs.