А что мешает заимплементить оба варианта и переключаться между ними с помощью опций?