https://stackoverflow.com/questions/1495496/what-are-the-advantages-of-immutable-objects-over-static-methods