Tech Debt: added additional tests
Tech Debt: refactored AbstractNode API