linearize cluster updates and refactor Deallocators

seems like this can also be final?