Improved API by adding static construction methods, reduced the amount of lines in tests