Refactored to remove additional metaprogramming
Refactored Choice to remove metaprogramming
Moved Framework#clear to Base#clear