Refactor for stronger types, data use Expando.