You're absolute right about the if-block, why didn't I think of that? Thanks!

Re: `HISTORY_SIZE`, I'm not sure how I would disable the feature completely. Just check the value when initializing/pushing to the history?