Adjusting the public interface, adding delegate and notification center notifications, adding fade animation type