xxxCore works as a bridge which connects keyboardContext and template and would try to reflect all `Model` (keyboardContext) change into `View`(keyboardTemplate). But to me, `core` is kinda a frustrating naming to understand what it is really responsible for at the first glimpse.