moved arrow drawable to a separate file, added interface to specify custom state views and animations