Стараюсь виртуальные не использовать, так как это накладные как на
их вызов, так и на таблицу виртуальных методов. Чего в эмбедде как
раз хочется избежать. Но кое-где все же есть. Крутил и так и сяк,
но построение кода с ними в этих местах проще получается.