Made components data-centric, removing all functions from them (closes #61)