BaseEngine : Changed scope of private properties and methods to protected to be able to override implementation