simplify action()

will probably add support for described actions back in later
class plugin support
improve action copying
update to allow full control over connections