https://web.archive.org/web/20230322100311/https://www.getpa.net/lectures/oop_remocon_idea