Major refactoring. I improved IDecomposable. Now it's
implemented methods can return objects of another IDecomposable
implementations.