MASSIVE COMMIT - using Anax Entity System instead of my own half-assed version of it.