There's a potential race condition here. Consider:

1. Two threads enter this method.
1. Thread A increments `_performCount` to 1, then immediately context switches.
1. Thread B increments `_performCount` to 2, then performs its block.
1. The block has no current scheduler set.

This makes me think we should just use `@synchronized` instead of atomic manipulation.