Added immutable/mutable flag and implementation, partial equals methods.