Almost forgot the matchCtrl...

→_→ I know there are many duplicate codes between matchCtrl and
standAloneCtrl, but having two people working on a same .js file is
nightmare... (conflict and conflict... There's still a lot to learn
about git)

Another thing is that I think most codes should be wrote as services in
the beginning for reuse purpose... = =