Fix/deprecated packages

just upgrading and replacing some deprecated and outdated packages. Also removing manual di-annotation on states in favor of having it generated and adding strict-di so that any missed annotations will cause a failure on travis.
Why not do this all the time?