Performance changes

- Removed tons of delegate allocations
- Removed tons of closures
- Cached delegate creation where it would be created per operation (where it makes sense).
- Added state overloads to a bunch of hot paths to avoid closures.