Great refactor using metadata (it rocks)