Features + Refactoring
* added invoke()
* removed $mode and $path