Entity system revamp