Copying replaced with delegation, please, pay attention - I rebased on master and squash fix into existing commit.