Você fala dobre Programação Orientada a Objetos.
No seu livro tem algo sobre outras maneiras de obter a orientação a objetos?
Linguagens como Lua, JS, Self e Julia tem jeitos diferentes de serem OOP.
Pelo que deu pra ver seu foco é typescript, como sabemos é JS por baixo, depois da compilação.
É muito importante(caso não tenha feito) dismistificar que OOP é apenas ter "class"
Se não tem "class" pra muita gente não é uma lingagem OOP.
Isso gera muitos problemas! No pensamento sobre algo tão interessante na programação!
Abraços e boa sorte nas vendas!