removed the idea of detailed message data from states

also minor cleanup to state api
method location swap