Уж слишком как-то всеабстрактно написано. Много отвлечений. Тяжело разобраться, что к чему.