Implemented pimpl class (based on PIMPL paradigm).