XD-587 Move controller functions from leaf classes to abstract class.

Get rid of boilerplate code.

Adding list to command

Now supporting Save command in XD Controller

Triggers now use XD-Controller

TapController is now using XD Controller.

Save now does a parse before "saving".

Added copyright and cleaned up the code.