improve did change delegate callbacks for forms