Test task For u10. I used the following patterns: Factory method, Singleton from here. License Licensed under the MIT license.