use immutable classes

The classes in this dist currently aren't set immutable, which results in it being significantly slower, especially during object instantiation.