add more data to setter_method class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
simplify dependency construction

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add invoke method to setter_methos class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
less usage of meta_method from setter_method

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add setter_method::signature()

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
throw exception when type created with invalid data

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
test new type behaviour

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add new constructor to setter_method and tests for it

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
remove error-prone constructor from setter_method

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
more explicit constructors

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add implementation class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add implementations class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
a big rework of some parts of the code

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
allow dependencies with common superclass

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
remove unused class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>