Use member functions instead of function pointers for Controllers and simplify code