That code looks solid.
OOP at it's best!