Budget Application (Using Factory Method Pattern)