Made protected method virtual.

That fact that it was not virtual already was probably an oversight.
There's no much point in defining it and not have the possibility to
override it.
Removed unused private attribute.

Probably a leftover from a previous implementation.