create an (internal) object
just copy options $self keeps to a command
pod for new and subcommand
ignore commands that are not located (which most probably are subcommand of some command)
added tests for subcommand