Moving private members to protected scope + cleaning up documentation