Improve delegation, setDelegate is not mandatory