Added __call method handling and button classes
Simplified method