Added instance provider creating type matching constructor argument using inheritance

Signed-off-by: Ivan Appert <iappert@gmail.com>