Plurk: initial controller refactor