Thank you for your explanation. Whereas I can understand I am not good at
applying this knowledge in practise. First lets take a look at object variant
polymorphism. It can do the same as methods but then cases sneak everywhere
which is ugly. Then, let me elaborate more. There are entities. Entities does
not have basically anything interesting by themselves but list of components.
Components are responsible for different behaviours and they can be attached or
removed. So basically I do not know what components entity will have. Then I
have a command. I present such command to every component until it is consumed
by any. Sometimes there are more components which can take the same command.
For instance flyer and walker both can take "move" command and execute it in
its own way. This prevents me from adding separate table for every component
and process them one by one. I know that it is not as performant but leave
performance for now.