Fix chain breaking change and add chain magic

Fix breaking chain issue and implemented feature with more functionality.

To chain use `$this->saveChain()->value = 1;` with this though, anything can be chained `$this->setMyValueChain(1)->saveChain()->deleteChain();`