Added documentation on writing components