Add custom ObjectSource Class for handling commands

Moved commands from Source into Action, plus other general modifications