make monitor impl extensible