[MESSAGES CONTROL] disable=consider-using-in, duplicate-code, invalid-name, no-else-return, superfluous-parens, too-few-public-methods, too-many-arguments, too-many-branches, too-many-instance-attributes, too-many-lines, too-many-locals, too-many-nested-blocks, too-many-positional-arguments, too-many-public-methods, too-many-return-statements, too-many-statements, unnecessary-pass