Updated command api, still needs some love but basic concept is ready