Implement the new ConjuredItem

Signed-off-by: Igor Popov <igor@igorpopov.io>
Remove duplicate code

Signed-off-by: Igor Popov <igor@igorpopov.io>