public function execute($command)
    {
        $commandClass = get_class($command);
        $mappings = $this->getMappings();

        $this->checkIfCommandExistsInMappings($commandClass, $mappings);

        $handlerClass = array_get($mappings, $commandClass);

        try {
            return $this->getContainer()->make($handlerClass)->handle($command);
        } catch (ReflectionException $e) {
            throw new CommandNotInstantiableException($handlerClass . ' is not instantiable.');
        }
    }