BUG: Can't store callables using __setitem__
- [X] closes #13299
- [X] tests added / passed
- [X] passes `git diff upstream/master | flake8 --diff`
- [X] whatsnew entry

yeah that's a better soln
 lgtm.
 lgtm. @jorisvandenbossche 
 ## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13516?src=pr) is **84.34%**

> Merging [#13516](https://codecov.io/gh/pydata/pandas/pull/13516?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #13516   diff @@
==========================================
  Files           138        138          
  Lines         51107      51113     +6   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43103      43109     +6   
  Misses         8004       8004          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last updated by [bf4786a...2a6607a](https://codecov.io/gh/pydata/pandas/compare/bf4786a15f51d14ccf1318e44ae080868d8595ee...2a6607aae9119fbd02f25c61adf98bd1cb74b50a)
 Thanks a lot!
