behavior ▸ Similar to helpers, but can hold state and handle user actions ▸ Isolated - state is passed down, actions bubble up ▸ Can have a template ▸ Compatible with the Web Component spec ▸ Must contain a "-"
directly tied to the DOM ▸ Can wrap external APIs (Geolocation, LocalStorage) ▸ Can be used to communicate between objects ▸ Made available through dependency injection ▸ Singletons this.store is a service
property ▸ Name of function maps to action name ▸ Can be on components, controllers, and routes ▸ Bubble up until they are handled ▸ Can be sent with send
over setTimeout() ▸ Use CSS transitions wherever possible ▸ Ember.computed.oneWay() ▸ Avoid observers wherever possible ▸ Optimize data fetching ▸ smoke-and-mirrors