Refactored to use ember components and data binding