Active model/dirty

@nofxx this is a redux of https://github.com/nofxx/symbolize/pull/52/files

thanks for doing the original work @jturkel!