User "semi-abstract" class is done.
Some refactor on branch case tests.