Well, __new__ and _eval_subs methods needs a cleanup, it's in todo.