Changed interfaces to callbacks and did vertical text centering